競プロをしていて、
vector<int> v;
int ans;
//処理
ans=max(v.size(),ans); //error🥺🥺🥺
の様に書いたらコンパイラに怒られたので備忘録として。(初心者がバレる)
どうやら v.size()はunsigned long型らしい。
(補足:コメントで、戻り値の型は処理系依存であるとのご指摘をいただきました。)
max()の第一引数と第二引数の型が違うと怒られてしまった。
ans=max((int)v.size(),ans); //error🥺🥺🥺
の様にキャストして書きましょう!(あくまでも競プロでのお話です)
、、、というお話。