-1

まず、私は cpp の第一人者でもデバッガーの熱心なユーザーでもありませんが、プログラムの最初に、次のようなものがあります。

    unsigned long totSize;
    unsigned int partSize,lastPartSize;
    unsigned short nbRessources;
    const char* folder = "TYPE";

    getSizesRessource(folder, nbRessources, partSize, lastPartSize);
    totSize = (nbRessources*partSize)+lastPartSize;

私はこのコードについて話すつもりはありません。それは本当に重要ではないと思います。問題はこれです: デバッガーはフォルダーの奇妙な値または未定義の値を表示します, totSize と同じですが、getSizesRessource がうまく機能し、他の変数が正しいと確信しています.明確に割り当てますか?「1」をtotSizeに割り当てても、デバッガーではまだ定義されていませんありがとう

4

1 に答える 1

1
    unsigned long totSize;
    unsigned int partSize,lastPartSize;
    unsigned short nbRessources;

コードのスニペットが関数に対してローカルであると仮定します。上記は、技術的に初期化されていない値を持つ変数を宣言するだけで、不定値を保持します。Indeteminate という名前が示すように、これらの値は文字通り何でもかまいません。

関数getSizesRessourceを使用してこれらの変数を設定する場合、変数は参照によって関数に渡される必要があります。そうしないと、関数は渡される変数のコピーを変更し、変更は関数の外部に反映されません。

于 2013-03-17T13:03:42.440 に答える