13

int へのポインターを返す関数を作成する必要があります。

そのようです:

int * count()
{
    int myInt = 5;

    int * const p = &myInt;

    return p;
}

ポインタは単なるアドレスであるため、変数 myInt はこの関数が呼び出された後に破棄されます。このメソッド内で int を宣言して、後で返されたポインターを介してメモリにアクセスできるようにするにはどうすればよいですか? 関数の外で int をグローバルに宣言できることはわかっていますが、関数内で宣言したいと思います。

助けてくれてありがとう!

4

5 に答える 5

9

スマートポインターを使用できます。

例えば:

unique_ptr<int> count()
{
   unique_ptr<int> value(new int(5));
   return value;
}

次に、次のように整数にアクセスできます。

cout << "Value is " << *count() << endl;
于 2013-09-27T04:37:06.967 に答える