中級 › error: invalid conversion from 'int*' to 'int' の原因と直し方 › パターン5
error: invalid conversion from 'int*' to 'int' の原因と直し方
アドレス演算子&で得たポインタを、参照や普通の変数と混同して代入しようとしたときに出るエラーです。
1 #include <iostream> 2 int main() { 3 int level = 3; 4 int lv = __level; ^ 5 std::cout << lv << std::endl; 6 return 0; 7 }
main.cpp:4:14: error: invalid conversion from 'int*' to 'int' [-fpermissive]
空欄を埋めてコンパイル・実行を通す
値をコピーしたいだけなら&は不要です。付けるとアドレスを代入しようとしてエラーになります。
次の問題