连接器.hpp
#ifndef __CONNECTOR_HPP_
#define __CONNECTOR_HPP_
#include <a/b/c/connection.hpp>
namespace a {
namespace b {
namespace c {
class connector {
public:
explicit connector(const int port);
void run();
void stop();
};
}
}
}
#endif
连接.hpp
#ifndef __CONNECTION_HPP_
#define __CONNECTION_HPP_
#include <a/b/c/connector.hpp>
namespace a {
namespace b {
namespace c {
class connection {
private:
connector owner_; //line 42
};
}
}
}
#endif
这些简单的类在 cpp 文件中有一些琐碎(空)的实现。
当我尝试编译时,VS2012 会这样说:
错误 1 错误 C2146:语法错误:缺少 ';' 在标识符“所有者_”之前 c:\a\b\c\connection.hpp 42 1 测试
错误 2 错误 C4430:缺少类型说明符 - 假定为 int。注意:C++ 不支持 default-int c:\a\b\c\connection.hpp 42 1 test
问题是 VS 编辑器没有看到任何问题 - 没有红色下划线等。包含路径设置正确,我已添加$(SolutionDir)\..\
到包含中,以便我可以使用完整路径a/b/c
而不是相对路径。
尽管如此,这并没有编译..但它编译过一次。
问:为什么?