编译器错误 C2148

数组的总大小不得超过 0x7fffffff 字节

数组超过限制。 缩减数组大小。

示例

以下示例生成 C2148:

// C2148.cpp
#include <stdio.h>
#include <stdlib.h>

int main( ) {
   char MyArray[0x7ffffffff];   // C2148
   char * MyArray2 = (char *)malloc(0x7fffffff);

   if (MyArray2)
      printf_s("It worked!");
   else
      printf_s("It didn't work.");
}