Hi guys,
i have one question, when i type
using namespace std;
at top of my program my compiler gives some error
especially syntax error!
my compiler is Borland C++ v.5
for example simple code:

#include <stdio.h>
#include <conio.h>
#include <iostream.h>

using namespace std;
void main()
{
clrscr();
getch();
}

Regards

Recommended Answers

All 4 Replies

Shouldn't use void main. getch() isn't a great way of stopping the program. iostream.h is non-standard. use iostream:

#include <iostream>

using namespace std;

int main( void ) {

  std::cin.ignore();
  return 0;
}

Hi guys,
i have one question, when i type
using namespace std;
at top of my program my compiler gives some error
especially syntax error!
my compiler is Borland C++ v.5
for example simple code:

When using the old headers with .h extension you don't use "using namespace std". Check to see if your compiler supports the new headers without an extension and use those instead. The old files are out-of-date and will cause lots of other problems if you attempt to use current coding practices.

Shouldn't use void main. getch() isn't a great way of stopping the program. iostream.h is non-standard. use iostream:

#include <iostream>

using namespace std;

int main( void ) {

  std::cin.ignore();
  return 0;
}

Thanks, it works, but i dont understand part of your code!
std::cin.ignore()
why you use that?!
my compiler gives error on that line?!, is it for pausing the screen?!
Regards

When using the old headers with .h extension you don't use "using namespace std". Check to see if your compiler supports the new headers without an extension and use those instead. The old files are out-of-date and will cause lots of other problems if you attempt to use current coding practices.

fzafarani here is some more info on the subject {i found it on the internet!}:

The use of namespace std for all identifiers of the C++ standard library was introduced during
the standardization process. This change is not backward compatible to old header files, in which identifiers of the C++ standard library are declared in the global scope.
In addition, some interfaces of classes changed during the standardization process (however, the goal was to stay backward compatible if possible). So, a new style for the names of standard header files was introduced. This allows vendors to stay backward compatible by providing the old header files.

i got the text from here

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.