在c ++中,.h文件包含文件但不起作用

时间:2018-03-21 09:09:12

标签: c++

我在.h文件中声明一个字符串变量,并将其分配到我的.cpp文件中 demo.h:

#ifndef DEMO_H
#define DEMO_H
#include <string>
string s;
#endif

和demo.cpp:

#include "demo.h"
int main(){
  s = "s";
  return 0;
}

当我编译demo.cpp时,它说

  

demo.h:错误:'string'没有命名类型

     

demo.cpp:错误:'s'未在此范围内声明

但我实际上在我的.h文件中包含了字符串 我不知道为什么它不起作用

1 个答案:

答案 0 :(得分:2)

您缺少命名空间,在这种情况下,demo.h应如下所示:

#ifndef DEMO_H
#define DEMO_H
#include <string>
std::string s;
#endif