0

コンパイラは、行 3で無効な初期化を言いますiへの 参照を作成していると思います。誰かがiを変更したいことをコンパイラに伝えていると思います。ほとんどの本でこのコードを見つけたので、これは新しいバージョンのコンパイラに付属していると思います。

int main(){
 const int &i=10;
 int &j=1;
 cout<<j;
 return 0;
 }
4

2 に答える 2

2

これ:

int &j=1;

定数値(明らかな理由で変更できない)から非定数参照(参照対象を変更できる)を作成しているため、有効ではありません。

代わりにこれを行います:

const int &j=1;

また、宣言する行iは意味がありません。削除するだけです。

于 2013-04-28T03:30:50.240 に答える
0

int次の行の問題で anが欠落していることに加えて、const &i=10;そうではない参照を作成していてconst(つまり、それが参照するものを変更できるようにする)、数値1定数であるということです。次のコードでも同じ問題が発生します。

const int i = 1;
int &ri = i;

その理由は明らかなはずです。

于 2013-04-28T03:31:14.533 に答える