条件に応じてunsigned shortの配列を割り当てようとしています。条件に応じた配列サイズの割り当て
エラーC2057:私が遭遇する問題は、次の(以下のコードに応じて)である定数式が期待
エラーC2466:「パケット」:未知のサイズ
エラーC2133とアレイを割り当てることが不可能
unsigned int length=4;
if(...)
{
length = 8;
}
else if(...)
{
length = 6;
}
else
{
length = 4;
}
unsigned short packet[length/2];
私は配列の宣言の前にこれを追加し、配列のサイズのためにそれを使用してのようないくつかのペテンを実行しようとしましたが、それはトリックを行いません。
const unsigned int halfLength=length/2;
ベクトルを使用して配列を置き換えることはできません。あなたは何か考えていますか?
これらのifsに少し依存します。コンパイル時に評価できる場合は、テンプレートのメタプログラミングで長さを選択できます。 – visitor
**なぜベクターを使用できないのですか? – delnan
@delnan:私は考えている:Windowsでは、STLはDLLインタフェース上にあることは示唆されていない。 [これを見てください!](http://msdn.microsoft.com/en-us/library/3tdb471s%28v=vs.80%29.aspx) – Naszta