我想使用非托管C ++。
以下代码:
#include"string.h"
std::string nodename[100];
给我以下编译错误:
'std':不是类或命名空间 名称
答案 0 :(得分:15)
您使用的是错误的头文件。您应#include
<string>
而不是"string.h"
:
<string>
是定义C ++ STL类std::string
<string.h>
是字符串函数的C标准库的头文件,它对C字符串(char *
)进行操作<cstring>
是像<string.h>
这样的头文件,但是它声明了std
命名空间内的所有C字符串函数对于像这样的系统头文件,你应该始终#include
使用尖括号,而不是双引号。
答案 1 :(得分:9)
尝试类似:
#include <string>
int main(void)
{
std::string nodeName[100];
}
它只是string
,而不是string.h
。