• 締切済み

C++でどうすればcoutで表示できるのですか?

C++についての質問です coutで表示するときに kannsuu関数の返り値を main関数とmain関数の cout << ++kannsuu(i) << endl; の部分を変更せずに kannsuu関数のみを変更して インクリメントして「2」と表示したいのですが どのようにすればいいですか? #include <iostream> using namespace std; int kannsuu(int i) {return i;} int main() { int i = 1; cout << ++kannsuu(i) << endl; return 0; }

みんなの回答

回答No.4

int& kansuu(int& i) { return i; }

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.3

やっちゃいけないコードですが。

回答No.2

++kansuu(i)で仮引数の変数であるiをインクリメントしてもよいのであれば、 int&kansuu(int&i) {return i;}

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

++ でインクリメントする、ということは、対象が代入できないと意味が無いのはおわかりですね? int型の戻り値には代入できません。 で、結果としてどうなって欲しいのでしょうか? cout << ++kannsuu(i) << endl; のあとで、iがイクリメントされた i=2の状態にしたいのでしょうか? 単に 戻り値+1を出力したいだけなのでしょうか? 前者なら、参照で渡して、参照を受けとる、という方法はあります。

関連するQ&A

専門家に質問してみよう