c++ - .c 文件中的 std::string

标签 c++ c std

我见过 std::string.c 文件中使用。 std 是一个 c++ namespace , namespace 是在 c++ 中引入的。为什么会这样?它不应该抛出错误吗?

最佳答案

是的,如果编译为 C 代码,将导致大量编译器错误。如果它被编译为 C++,那么它将编译正常。例如,GCC 有 -x 选项来选择编译语言,所以你可以将 .c 编译为 C++,如果你想用 -x c++ 。同样,Microsoft Visual C++ 编译器有选项/Tc/Tp 分别选择C 和C++ 的源语言。​​

我建议您修复构建系统,使其不会将 -x c++/Tp 标志传递给不以典型 C++ 源文件扩展名结尾的文件 ( .cc.cpp.cxxc++.C,尽管后三个非常罕见)。

关于c++ - .c 文件中的 std::string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13021381/

相关文章:

Python/C++快速高斯拟合4分

c - strcmp 参数类型错误

c++ - std 函数 std::_Rb_tree_rebalance_for_erase () 中的段错误

c++ - 调用 reserve() 后 std::vector 的空间复杂度

.net - Windows窗体控件库;托管和非托管

c++ - 如何找到我的阵列使用的内存

c++ - 为枚举结构设置多个属性

c - 警告 : may be used uninitialized in this function

c - 这个 c strdup 代码有什么问题?

c++ - MSVCC/g++/icc 中 std deque/vector 之间的不同行为