以前に作成したclassを新たに,名前空間に入れるために以下のようなコードを実装しました.
<.hpp>
namespace hoge{
[tab=30]class huga;
};
class hoge::huga{
private:
[tab=30]static int piyo0;
~ 以下略 -
};
<.cpp>
int hoge::huga::piyo0 = 0;
- 以下略 -
以上
すると, 'int hoge::huga::piyo0' is private'とerrorが発生してしまいます.
名前空間を実装する前は,問題なく動作していたため,名前空間内の静的メンバ変数の宣言に問題があると考えているのですが,どのように実装すればよいのでしょうか.
ご教示お願いします.
[C++]名前空間内にある静的メンバ変数の宣言
Re: [C++]名前空間内にある静的メンバ変数の宣言
huga.hpp
huga.cpp
この huga.cpp を g++ -c huga.cpp や cl -c huga.cpp でコンパイルしても
私のところでは、エラーが出ません。
g++ は cygwin の 5.4.0。cl は Visual Studio 2013 のものです。
エラーの出る環境は何ですか? エラーの出るソースや、エラー
メッセージを(ファイル名や行番号を省略しないで)提示してください。
私のところでは、エラーが出ません。
g++ は cygwin の 5.4.0。cl は Visual Studio 2013 のものです。
エラーの出る環境は何ですか? エラーの出るソースや、エラー
メッセージを(ファイル名や行番号を省略しないで)提示してください。
Re: [C++]名前空間内にある静的メンバ変数の宣言
思いっきりprivateって書いてあるからprivateになるのは当たり前だと思うのですが…悲しい さんが書きました:すると, 'int hoge::huga::piyo0' is private'とerrorが発生してしまいます.
そのコードは提示できないですか?悲しい さんが書きました:名前空間を実装する前は,問題なく動作していた
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)
Re: [C++]名前空間内にある静的メンバ変数の宣言
問題なく動作していたコード、名前空間を導入したコードそれぞれについて、
最小限の・自己完結した・確認可能なサンプルコードを提示していただけるとありがたいです。
最小限の・自己完結した・確認可能なサンプルコードを提示していただけるとありがたいです。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)