-4
このコードはi = 35を結果として出力しますが、どういうわけかコンパイルさえしません。どうして ?C++: 'void'の無効な使用
#include <iostream>
using namespace std;
void increment(int &p){
p = p +10;
}
int main()
{
int i = 10;
increment(i) += 15;
cout<<"i = " <<i<<endl;
return 0;
}
をあなたがこれを行うことはできません: '増分(I)+ = 15;' – nrussell
は、これは実際にコンパイルしていますか? 'increment'は' void'なので、それはどのようにして左辺値になりますか? – doctorlove
'lvalue'は場所と見なすことができます。値を代入するときは、代入演算子の左辺*を位置にする必要があります。あなたの機能は場所ではありません。 –