本文へスキップ
BecomeCoder

C++のエラー · エラー8

invalid conversion from 'int' to 'int*' ― ポインタと値の取り違え(コンパイル)

ポインタ型が必要な場所に値そのものを渡す、あるいはその逆をすると出ます。

出るコード

int main() {
    int x = 5;
    int* p = x;   // アドレスではなく値を渡した
    return 0;
}

エラーメッセージ

error: invalid conversion from 'int' to 'int*'

直し方

アドレスを渡すには & を付けます(int* p = &x;)。ポインタの中身が欲しいときは逆に *p で参照外しします。