コネクタ.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: 構文エラー: ';' がありません 識別子 'owner_' c:\a\b\c\connection.hpp 42 1 テストの前
エラー 2 エラー C4430: 型指定子がありません - int と見なされます。注: C++ は default-int c:\a\b\c\connection.hpp 42 1 テストをサポートしていません
問題は、VSエディターに問題がないことです-赤い下線などはありません。インクルードパスは正しく設定されています。インクルードに追加して、相対$(SolutionDir)\..\
パスの代わりにフルパスを使用できるようにしました。a/b/c
それでも、これはコンパイルされません..しかし、一度はコンパイルされました。
Q: なぜですか?