1,105,281 Community Members

Warning:header. why i'm getting this?

Member Avatar
urbangeek
Light Poster
44 posts since Mar 2010
Reputation Points: 3 [?]
Q&As Helped to Solve: 1 [?]
Skill Endorsements: 0 [?]
 
0
 

hi guys, i'm just starting out c++.
Now the problem is, no matter whatever program i write, i'm getting this warning.

#warning This file includes at least one deprecated or antiquated header. \
Please consider using one of the 32 headers found in section 17.4.1.2 of the \
C++ standard. Examples include substituting the <X> header for the <X.h> \
header for C++ includes, or <iostream> instead of the deprecated header \
<iostream.h>. To disable this warning use -Wno-deprecated.

one demo code:

#include <iostream.h>
int main()
{
    char *p = "hello world";
    cout<<p;
    return 0;
}

can anyone explain pls?
thanks
P.S: i use Code::Blocks

Member Avatar
Fbody
Posting Maven
2,845 posts since Oct 2009
Reputation Points: 682 [?]
Q&As Helped to Solve: 393 [?]
Skill Endorsements: 7 [?]
Featured
 
0
 

Examples include substituting the <X> header for the <X.h> \
header for C++ includes, or <iostream> instead of the deprecated header \
<iostream.h>.

Um..... I think your compiler has said it all... Try actually reading it.

The way you've written your code is not per the current C++ standards. There are no headers that are part of the current standard that end with ".h"...

Member Avatar
urbangeek
Light Poster
44 posts since Mar 2010
Reputation Points: 3 [?]
Q&As Helped to Solve: 1 [?]
Skill Endorsements: 0 [?]
 
0
 

Um..... I think your compiler has said it all... Try actually reading it.

The way you've written your code is not per the current C++ standards. There are no headers that are part of the current standard that end with ".h"...

thanks for your reply.
Did you mean, i should use <iostream> instead of <iostream.h>?
well...i tried that. but then i'm getting errors like "cout was not declared in this scope" or "endl was not declared in this scope"..i think in this case they can't find the header files where these functions are written.
sorry for my bad english, i'm not native english speaker.
thanks to all.

Member Avatar
Fbody
Posting Maven
2,845 posts since Oct 2009
Reputation Points: 682 [?]
Q&As Helped to Solve: 393 [?]
Skill Endorsements: 7 [?]
Featured
 
1
 

>>Did you mean, i should use <iostream> instead of <iostream.h>?
That's exactly what I/it mean(s).

>>but then i'm getting errors like "cout was not declared in this scope" or "endl was not declared in this scope"..i think in this case they can't find the header files where these functions are written
Nope. It means you didn't resolve your namespace properly. All functions and objects that are members of the standard headers are declared within the "std" namespace. To get to them, you must resolve the namespace.

Member Avatar
WaltP
Posting Sage w/ dash of thyme
9,363 posts since May 2006
Reputation Points: 2,905 [?]
Q&As Helped to Solve: 1,151 [?]
Skill Endorsements: 45 [?]
Team Colleague
 
2
 

In other words, add the line using namespace std; after your header.

Member Avatar
urbangeek
Light Poster
44 posts since Mar 2010
Reputation Points: 3 [?]
Q&As Helped to Solve: 1 [?]
Skill Endorsements: 0 [?]
 
0
 

thanks to all.
I'm reading a crap book..!:icon_mad:
gotta change it.

Question Answered as of 3 Years Ago by Fbody and WaltP
You
This question has already been solved: Start a new discussion instead
Post:
Start New Discussion
View similar articles that have also been tagged: