c++filt
当我遇到重复的符号错误时,我只是跑去demangle:
$ c++filt __ZN4uiuclsERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEERKNS_5StackE
uiuc::operator<<(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, uiuc::Stack const&)
但实际的函数看起来像这样[在uiuc
命名空间内]:
std::ostream & operator<<(std::ostream & os, const Stack & stack)
我怎样才能得到解耦的输出到
- 显示返回类型:
std::ostream &
- 显示
std::ostream
而不是std::__1::basic_ostream<char, std::__1::char_traits<char> >&
.__
之后std::
是我没有得到的权利和类似模板的输入。ostream 是作为模板实现的吗?
我问是因为我无法轻松映射其他返回转弯类型。我正在处理一个用于练习的小文件。
我正在运行macOS
并尝试了c++filt
--format
编译器的不同选项,但没有看到任何给我不同输出的选项。