std :: string在.c文件中
我在.c
文件中看到了std::string
。 std是一个c ++命名空间,命名空间是在c ++中引入的。 为什么? 它不应该抛出一个错误?
是的,如果它编译为C代码,会导致大量编译器错误。 如果它被编译为C ++,那么它会很好地编译。 例如,GCC具有-x
选项来选择要编译的语言,因此如果您想使用-x c++
则可以将.c
编译为C -x c++
。 同样,Microsoft Visual C ++编译器有选项/Tc
和/Tp
分别选择C和C ++的源语言。
我建议您修复您的构建系统,以便它不会将-x c++
或/Tp
标志传递给不以典型的C ++源文件扩展名( .cc
, .cpp
, .cxx
, c++
和.C
结尾的文件,尽管最后三个是非常罕见的)。
文件的扩展只是为了帮助你成为读者。 只要您使用c ++编译器,编译器就不会在意。
链接地址: http://www.djcxy.com/p/86309.html下一篇: Does it matter which file extension I use for my C++ programs?