0

私はちょうどc++の基本を学んでいて、ポインタについてのセクションに到達しました。ただし、ポインタの内容に値を割り当てようとするとエラーが発生します。任意のヒント?

#include <iostream>
class X
{
public:
    int * x;
    X()
    {
        int * x = new int;
    }   
};

int main (int argc, const char * argv[])
{

    X test;
    *(test.x) = 10;
    return 0;
}
4

1 に答える 1

2

この行:

int * x = new int;

ローカル変数 x を宣言します。パブリック メンバーxは、割り当てられたメモリを指すようにまだ初期化されていません。

したがって、次のように変更します。

x = new int;

動作します。

于 2012-09-12T02:19:22.597 に答える