質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
bash

bash(Bourne-again-Shell)は sh(Bourne Shell)のインプリメンテーションに様々な機能が追加されたシェルです。LinuxやMac OS XではBashはデフォルトで導入されています。

sed

sedとは、POSIX環境のために作られたコマンドラインエディタです。sedは編集スクリプトの指示のもとに複数のファイルを編集し、標準出力にその結果を出力します。

コンパイルエラー

コンパイルのフェーズで生成されるエラーです。よく無効なシンタックスやタイプが含まれているとき発生します。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Clang

Clangは、プログラミング言語 C、C++、Objective-C、Objective-C++ 向けのコンパイラである。

Q&A

解決済

1回答

4931閲覧

clangでc++をコンパイルした時のエラーメッセージに含まれる note を非表示にすることはできますか?

ohys

総合スコア147

bash

bash(Bourne-again-Shell)は sh(Bourne Shell)のインプリメンテーションに様々な機能が追加されたシェルです。LinuxやMac OS XではBashはデフォルトで導入されています。

sed

sedとは、POSIX環境のために作られたコマンドラインエディタです。sedは編集スクリプトの指示のもとに複数のファイルを編集し、標準出力にその結果を出力します。

コンパイルエラー

コンパイルのフェーズで生成されるエラーです。よく無効なシンタックスやタイプが含まれているとき発生します。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Clang

Clangは、プログラミング言語 C、C++、Objective-C、Objective-C++ 向けのコンパイラである。

0グッド

0クリップ

投稿2020/05/21 01:11

編集2020/05/21 13:08

前提・実現したいこと

c++ のコンパイルをした時に、エラーメッセージがでるのですが、そのとき error と一緒に大量の note が出てきます。これを非表示にすることはできますか?

該当のソースコード

cpp

1//test.cpp 2#include <iostream> 3 4int main(){ 5 int A; 6 std::cin>A; 7 std::cout<<A<<std::endl; 8}

これが間違ったコードであることは認識しています。
これを以下のコマンドでコンパイルを試みました。

$ c++ test.cpp -o test

発生している問題・エラーメッセージ

$ c++ test.cpp -o test test.cpp:5:11: error: invalid operands to binary expression ('std::__1::istream' (aka 'basic_istream<char>') and 'int') std::cin>A; ~~~~~~~~^~

ここまではわかるのですが、それ以降に大量の note: と書かれたメッセージが出ます。

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/utility:604:1: note: candidate template ignored: could not match 'pair' against 'basic_istream' operator> (const pair<_T1,_T2>& __x, const pair<_T1,_T2>& __y) ^ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/iterator:736:1: note: candidate template ignored: could not match 'reverse_iterator' against 'basic_istream' operator>(const reverse_iterator<_Iter1>& __x, const reverse_iterator<_Iter2>& __y) ^ ...(同様なメッセージが15個ほど)... 1 error generated.

試したこと

http://clang.llvm.org/docs/UsersManual.htmlを見てみたりしましたがわかりませんでした

補足情報

$ c++ -v Apple clang version 11.0.0 (clang-1100.0.33.17) Target: x86_64-apple-darwin18.7.0 Thread model: posix InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

エラーメッセージを読むことが大事なのはわかっていますが、note の内容はなくても構わないことが多いので、消す方法があるかどうか(オプションなど)を知りたいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

一応自己解決しました

hoshi-takanoriさんに教えていただいたページにあった記述を参考に

c++ test.cpp 2>&1 | sed -e "/note:/{N;N;d;}"

としました。コンパイルした時の標準エラー出力を標準出力に流した上でsedコマンドで「note:を含む行と次と次の行を消す」としたら

test.cpp:6:11: error: invalid operands to binary expression ('std::__1::istream' (aka 'basic_istream<char>') and 'int') std::cin>A; ~~~~~~~~^~ 1 error generated.

とできました。

参考

投稿2020/05/21 13:04

ohys

総合スコア147

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問