以下のプログラムは(gccで)コンパイルしますが、それは必要ですか?私は、下に作成されたV1(1.0)が定数であると考えていたので、非constメソッドを呼び出すことはできませんでした。const構造体で非constメンバー関数を呼び出せるのはなぜですか?
class V{
double v;
public:
V(double v1){ v = v1;}
void clear(){ v = 0;}
};
int main(){
V(1.0).clear();
}
は、関数に、この比較「ボイドF(INT & T){}」と呼ぶことができない「F(1)」、1は非constの値ができない定数であるため参照t。
一時的な!=定数(あなたが発見した通り) – valdo
ここでは定数構造とは何でしょうか? – leftaroundabout
私は何が 'const'になる可能性があるか分かりません。キーワードはコード内のどこにも表示されません。また、メンバ初期化構文。 – chris