问题:
#include <iostream >
#include <string >
using namespace std;
void main( )
{
string s[2] = {"asdf","adadff"};
cout < <s[1] < <endl ;
}
这个就没有错,为什么下面的程序就报错??
#include <iostream.h >
#include <string.h >
//using namespace std;
void main( )
{
string s[2] = {"asdf","adadff"};
//cout < <s[1] < <endl ;
}
问题主要出在string s[2] = {"asdf","adadff"};这行;
using namespace std;有什么作用是不是用了这行,定义头文件时就可以不用加“.h”还时有其他什么作用?
以前一直用bc3.1,对vc++不了解
请大家帮我解决这个问题
部分解决1:
using namespace std是告诉编译器本程序使用std这个命名空间(namespace)内的东西,如果没这句就得这样写
#include <iostream >
#include <string >
//using namespace std;
void main( )
{
std::string s[2] = {"asdf","adadff"};
std::cout < <s[1] < <std::endl ;
}
这样太麻烦了
部分解决2:
加h 和不加h 表示告诉编译器调用两种不同版本的库文件:c 和 c++
对于不加h的,库文件里定义的变量名均放在命名空间std里,当然要std::了;
而加了h的,则变量名没有单独处理