void f( int& i ){ Print( i ); }
voidOnStart()
{
int a, b;
f( a = 5 ); //error: '=' - parameter passed as reference, variable expected
f( b = a ); //error: '=' - parameter passed as reference, variable expected
}
void f( int& i ){ Print( i ); }
voidOnStart()
{
int a, b;
f( a ==5 ); //error: '=' - parameter passed as reference, variable expected
f( b == a ); //error: '=' - parameter passed as reference, variable expected
}
void f( int& i ){ Print( i ); }
voidOnStart()
{
int a = 5;
int b = a;
f(a); //error: '=' - parameter passed as reference, variable expected
f(b); //error: '=' - parameter passed as reference, variable expected
}
以下の挙動について説明してください。
安定的に常時、またはランニングインジケータの最初のティックで表示されるか?
wotchウィンドウに_LastErrorの値が表示されない
本当ですか?
同時に......どうしてそう思うのですか? 1が等しければ、2も等しくなる。コンパイルエラー
コンパイルエラー
あなたの例では、エラーは正当化されますが、私の場合は違います。
コードをよく読まずに、自動的に条件付きif文があると思ったのですが、fという関数があるだけなのですね。
関数には式ではなく、変数や事前に計算された値を渡す必要があります。
関数には式ではなく、変数やあらかじめ計算された値を渡さなければなりません。
何が違うのでしょうか?
何が違うのでしょうか?
前者では変数が、後者では演算 結果が渡される。そして、そこにインタのために何が仕組まれているのか、誰が知っているのでしょう。
実際、この参照エラーは非常に長い間、迷惑をかけてきました、全くないはずです。
何が違うの?
ArrayResize関数について いくつか提案があります。reserve_size パラメータに- 1を設定できるようにする必要があります。 そうすれば、この値を保存したり持ち歩いたりする必要がなくなります。 最初に必要な予備でサイズを変更すれば、その後は心配 する必要がなくなります。そうでないと、配列のサイズを変更する関数に渡したとき、その関数は配列にあらかじめ設定されているリザーブについて何も知らないので、結果的に配列のサイズが小さくなり、後で不必要なメモリの再割り当てが発生するという不都合が 生じます。 結局のところ、この値は配列のどこかに保存されているのだと思います。それとも違うのでしょうか?