奇怪的标题c ++

时间:2016-04-06 15:05:48

标签: c++

A.h上我不需要#include任何东西或使用命名空间来做任何事情。

在另一个标题上,B.h我必须包含vectorusing namespace std。这两个标题都没有链接。似乎是一个文件问题。当我将A.h(没有任何问题)的内容复制到B.h时,我仍然收到编译错误,指出string不是类型名称而vector不是模板虽然当A.h上有相同的内容时,编译器没有说明任何内容。我在visual studio上编写c ++代码。发生了什么事?

1 个答案:

答案 0 :(得分:1)

您的标头文件的前几行应该包含#include <string>#include <vector>。然后,当您在程序或标题文件中引用这些类型时,我建议您参考std::stringstd::vector。正如@NathanOliver指出的那样,使用这样的限定引用是using namespace std的首选替代方法。