조건에 따라 부호없는 short 배열을 할당하려고합니다.조건에 따라 배열 크기 할당
오류 C2057 : I가 발생하는 문제는 다음 (아래의 코드)에 따라 상수 식 예상
오류 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;
을
벡터를 사용하여 배열을 대체 할 수 없습니다. 너는 어떤 생각을 가지고 있니?
해당 if에 조금 달려 있습니다.컴파일 시간에 평가할 수 있다면 템플릿 메타 프로그래밍을 사용하여 길이를 선택할 수 있습니다. – visitor
** 왜 벡터를 사용할 수 없습니까? – delnan
@delnan : 나는 Windows에서 STL이 어떤 DLL 인터페이스에도 존재하지 않는다는 생각을 가지고있다. [이 내용을 확인하십시오!] (http://msdn.microsoft.com/en-us/library/3tdb471s%28v=vs.80%29.aspx) – Naszta