(Visual Studio 2010 で) C2057 エラーが発生しましたが、その理由がわかりません。スタック上の配列を初期化するには、コンパイル時にサイズを知る必要があるため、const 値を使用する必要があることを理解しています (少なくとも Visual Studio では、可変長配列は gcc のように許可されていないため)。クラスに const 値メンバーがあり、初期化リストでその値を定義します。技術的には、値はコンパイル時にわかりますよね? うまくいかない理由を知りたいのですが?ここにスニペットがあります:
class Dummy
{
Dummy() : size(4096) {}
void SomeFunction()
{
int array[size]; //return C2057
//...
}
const unsigned int size;
};
ありがとう