GCC编译器标志,用于在编译期间抑制模板扩展以避免模板错误
gcc compiler flag to suppress template expansion for template errors during compilation?
我想知道gcc编译器是否有一个标志或修改,当它遇到涉及模板的错误时,它会返回行号和句子来解释错误的类型,但将而不是打印模板扩展代码的页面,这些代码总是遵循这些错误。
例如,而不是这样的错误:
temp.cc:9: error: ‘class std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >’ has no member named ‘hat’
我想要这样的东西:
temp.cc:9: error: class has no member named hat.
没有。编译器试图帮助您识别导致问题的类。它只知道这个类是其模板类型的扩展。
gcc没有这个标志,但是sed
可以很容易地解决这个问题。
相关文章:
- VSCode 中带有 C/C++ 扩展名的多行注释缩进错误
- 谁能告诉我,程序中的错误是什么?该程序仅用于获取文件扩展名
- 在 Python 3.6 中调用C++扩展时导入错误"undefined symbol: _ZNK9FastNoise8GetNoiseEff"
- Python 和 C++ (Pybind11):Python 扩展模块导入错误
- Python 扩展中错误,C++ 中的 SFML
- 在PHP扩展中使用emalloc从线程时出现隔离错误
- xgboost 构建错误:参数包未扩展为"..":
- "如果 constexpr",在 lambda 内部,在包扩展内部 - 编译器错误?
- 在 vscode 上编译错误.类型说明符是 C++11 扩展
- VS 代码C++扩展给出错误"namespace has no member function"
- 未使用模板类型定义的同时参数包扩展错误
- 哪个编译器(如果有的话)在参数包扩展中存在错误
- 扩展中的致命错误:PyThreadState_Get:没有当前线程
- 可变参数模板:错误:参数包未扩展'...'
- Cython将扩展模块传递到to_py_call_code错误中的python reults
- 如何使用C 扩展程序禁用虚假的Visual Studio Code Intellisense错误
- 在可变参数模板中扩展了错误的包
- Python 扩展方法的分段错误
- 使用 OpenMP 的扩展错误(缓存争用?
- 为什么签名扩展错误具有很高的安全风险