内の名前空間内のstdヘッダを含めることはできません。は、なぜ私たちは次のコードをg ++ 4.4でコンパイルエラーを引き起こしますC++
// File test.cpp
namespace A
{
#include <iostream>
}
int main()
{
return 0;
}
一部のサードパーティのライブラリが保護名前空間なしで来るので、私はこの要件を持っています、これらのヘッダーを直接インクルードすると、私の名前空間が汚染されます。
その結果、これらのライブラリの名前空間を作成しようとしましたが、ライブラリにいくつかの「標準ヘッダー」が含まれていると、上記の方法は失敗します。
誰でも手伝いできますか?
ありがとうございました!
STL(std)ヘッダーの名前空間の名前を変更しようとしているのですか、サードパーティのヘッダーにあるものを名前空間に移動しようとしていますか?件名とサンプルコードは前者を示していますが、説明は後者を示唆しています。 –
@ Leo Davidson:第三者ヘッダーにあるものをネームスペースに移動したい – zJay
@Le Davidson:サードパーティのヘッダーにあるものをネームスペースに入れたいと思うようですが、そのヘッダーには標準のlibヘッダーが含まれているためできません。私はあなた自身がヘッダーを編集するのに手間がかからないと思います。 –