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

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

新規登録して質問してみよう
ただいま回答率
85.48%
C++

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

Q&A

0回答

398閲覧

C++にてstd::pair<long double,long double>を引数にとる関数を定義した際にnoteが出る。

退会済みユーザー

退会済みユーザー

総合スコア0

C++

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

0グッド

0クリップ

投稿2023/03/21 07:39

編集2023/03/21 08:39

cpp

1#include <bits/stdc++.h> 2using namespace std; 3using pb = pair<long double,long double>; 4bool cmp(const pb i,const pb j){ 5 long double a = i.first - i.second; 6 long double b = j.first - j.second; 7 return a<b; 8}; 9int main(){ 10 int N;cin>>N; 11 vector<pair<long double,long double>> P(N); 12 for(int i=0;i<N;i++)cin>>P[i].first>>P[i].second; 13 sort(begin(P),end(P),cmp); 14} 15

上記のような関数を定義し、GCCのg++12にてコンパイルを行ったところ以下のようなnoteが表示されました。

main.cpp: In function 'bool cmp(pb, pb)': main.cpp:4:6: note: parameter passing for argument of type 'std::pair<long double, long double>' when C++17 is enabled changed to match C++14 in GCC 10.1 4 | bool cmp(const pb i,const pb j){ | ^~~

実行環境
Mac book M1 2020
コンパイルオプション
g++-12 -std=c++17 -I . -O2

AppleClangで同様のコードを実行した際は同じはnoteが出ませんでした。
また、-std=c++17のところを-std=c++11にしたところnoteが出ませんでした。
翻訳をしてみたのですが意味がよくわかりません。
どなたか詳しい方よろしくお願いします。

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

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

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

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

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

int32_t

2023/03/21 07:50

test.cpp の24行目はどういうコードでしょうか。 できれば、その note を再現できる完全なコードを開示してください。
退会済みユーザー

退会済みユーザー

2023/03/21 08:12

再現できるコードを追加しました。 よろしくお願いします。
退会済みユーザー

退会済みユーザー

2023/03/21 08:20

はい。バージョンを確認したところ、gcc version 12.2.0 (Homebrew GCC 12.2.0) となってました。 PCはMac book M1 2020です。
dameo

2023/03/21 08:23

コンパイルオプションなど実行方法を明記してください。PCではなくMacなんですね。 完全な再現環境はありませんが、C++コンパイルレベルでプラットフォームはあまり関係ないと思います。
退会済みユーザー

退会済みユーザー

2023/03/21 08:25 編集

コンパイルオプションについて書き忘れていて申し訳ないです。 g++-12 -std=c++17 -I . -O2 というオプションでコンパイルしてました。
dameo

2023/03/21 08:28

質問文を変更してください。リンクオプションは省略しましたが、再現しませんね。 https://godbolt.org/z/1GYe95WvW インストールを疑った方がいいです。
退会済みユーザー

退会済みユーザー

2023/03/21 08:46

わかりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問