我想知道是否有gcc编译器的标志或修改将返回行号和句子,当遇到涉及模板的错误时会解释错误类型,但不打印模板扩展代码spaghetti的页面,总是会出现这样的错误。
例如,而不是像这样的错误:
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.
答案 0 :(得分:1)
没有一个。编译器正在尝试帮助您识别导致问题的类。它只知道该类是其模板类型的扩展。
答案 1 :(得分:0)
gcc没有这方面的标志,但sed
可以很容易地解决这个问题。