【发布时间】:2020-08-21 03:20:39
【问题描述】:
我在编译 c++ 程序时看到以下消息。
test.cpp: In function ‘int main()’:
test.cpp:950: error: no match for ‘operator<<’ in ‘std::cout << d->Derived::print()’
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/ostream:108: note: candidates are: std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(std::basic_ostream<_CharT, _Traits>& (*)(std::basic_ostream<_CharT, _Traits>&)) [with _CharT = char, _Traits = std::char_traits<char>]
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/ostream:117: note: std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(std::basic_ios<_CharT, _Traits>& (*)(std::basic_ios<_CharT, _Traits>&)) [with _CharT = char, _Traits = std::char_traits<char>]
我在想是否可以将所有这些消息重定向到一个文件并且在控制台上看不到任何内容。我尝试通过
重定向stderr消息g++ test.cpp 2> xx
但这似乎不起作用。我仍然可以在控制台上看到所有内容,但文件中什么也没有。
【问题讨论】:
-
忽略你这样做的理由,你试过
g++ test.cpp > xx吗? g++ 有可能将这些消息写入标准输出。或者您可以使用霰弹枪方法g++ test.cpp &> xx。 -
如果您想隐藏它们,请说明您是否要将消息重定向到存储它们。
-
您使用哪种外壳?
echo $SHELL说什么? -
@TedLyngmo,我明白了。你说的对。这是我看到的:
echo $0 tcsh echo $SHELL /bin/bash