2

std::stringファイルで使用されているのを見たことがあり.cます。std は c++ 名前空間であり、名前空間は c++ で導入されました。どうしてこんなことに?エラーをスローするべきではありませんか?

4

2 に答える 2

9

はい、C コードとしてコンパイルすると、多数のコンパイラ エラーが発生します。代わりに C++ としてコンパイルされている場合は、正常にコンパイルされます。たとえば、GCC にはコンパイルする言語を選択するオプションがあるため、必要に応じて を C++ として-xコンパイルできます。同様に、Microsoft Visual C++ コンパイラには、C と C++ のソース言語をそれぞれ選択するオプションとオプションがあります。.c-x c++/Tc/Tp

典型的な C++ ソース ファイル拡張子 ( 、、、および、最後の 3 つは非常にまれですが)で終わらないファイルに-x c++orフラグを渡さないように、ビルド システムを修正することをお勧めします。/Tp.cc.cpp.cxxc++.C

于 2012-10-22T23:23:02.657 に答える
0

ファイルの拡張子は、読者としてのあなたを助けるためだけにあります。C++ コンパイラを使用している限り、コンパイラは気にしません。

于 2012-10-22T23:23:43.820 に答える