2011-01-20 9 views
0

私が持っている不明瞭変数delcaration、例えば:私は、具体的fooの中で宣言したかつてのクラスであるために、変数のMyClassを宣言するにはどうすればよいそれは不明瞭だ場合には名前を指定しないでくださいどのようにオブジェクトを宣言するとき

Class myClass; 


blah.h : error C2872: 'Class ' : ambiguous symbol 
    could be 'foo.h(30) : Class ' 
    or 'foo2.h(106) : MyNamespace::Class ' 

.hに名前空間がありませんか?

ありがとうございます!

答えて

6

あなたはいつも::

::Class myClass; 
1

で始まる完全修飾クラス名を使用することができます::クラスは、全く名前空間を意味しません。

+0

は、より正確に、それはグローバル名前空間からのクラスを意味している場合には良いだろう。スコープ解決演算子::の前の空の名前は、グローバル名前空間の名前です。 –

2

あなたは

using namespace myNamespace; 

を使用していないが、あなたが代わりにその名前空間から取る資格のあるもの

+0

+1、または少なくともローカルで使用するか、myNamespace :: someSpecificFeatureを使用してください。 – ybungalobill

+0

+1このような競合が発生するまで、私はときどき 'using namespace'を使用しますが、その時点で私は切り替わります。 –

関連する問題