在查找关于最佳pratices包括订单,我被绊倒这个线程:包括订单和隐藏的依赖
C/C++ include file order/best practices [closed]
@squelart中指出,这是更好的初步实践从地方到全球,包括,因为这减少了隐藏依赖的机会。
StrTest.h
#pragma once
class CStrTest
{
public:
CStrTest();
~CStrTest();
std::string test;
};
StrTest.cpp
#include <string>
#include "StrTest.h"
CStrTest::CStrTest()
{
}
CStrTest::~CStrTest()
{
}
我无法重现陈述行为(隐藏dependencie二人包括:刚才我用下面的代码测试这个在VS2015项目字符串首先在StrTest.cpp中)。编译器给我多个错误。那么这是过去的事情,还是我忽略了一些东西?
编辑:VS2015编译器错误:
错误C4430缺少类型说明符 - 假定为int。注意:C++不支持默认int
错误C2039 '串':是不是 'STD' 的成员
错误C3646 '测试':未知覆盖符
现在还不清楚你在这里问什么 - 上面的代码编译。 –
你实际上是在做什么squelart回答表明相反。 – VTT
您还需要包括或至少向前声明中''StrTest.h'的std :: string'。你的头文件应该是自包含的。 – juanchopanza