0

ms visual c++ 2008 でflushmem.cppをコンパイルしようとしましたが、次のエラーが発生しました: .\flushmem.cpp(69) : error C2057: expected constant expression at line: HANDLE processes[processCount]; および警告: .\flushmem.cpp(63): 警告 C4244: 'initializing': 'unsigned __int64' から 'unsigned int' への変換、次の行でデータが失われる可能性があります: unsigned processCount = (totalPageFile +approximateProcessConsumption - 1) /おおよそのProcessConsumption;

の解き方?

4

1 に答える 1

1

Visual Studio 2008コンパイラは、自動配列のサイズとして変数をサポートしていません。行で:

 HANDLE processes[processCount];

processCountは変数であり、コンパイラーは定数のみを受け入れます。C99準拠のコンパイラが必要になるか、配列を割り当てるために上記のコード行を変更する必要があります。例えば:

HANDLE* processes = new HANDLE[processCount];

アレイを割り当てる場合は、それが終わったらアレイを削除する必要もあります。

delete [] processes;
于 2013-01-06T23:37:20.730 に答える