我为一个作业写了一个程序,我用这种方式分配了内存:
EdgeBucket* edgeTable[ n_scanlines ];
。我知道这在C中通常是非法的,但我不知道它也不能在C ++中完成。但是,当我使用g ++编译它时,它不会产生编译错误。但我的评分员正在使用视觉工作室,当他试图构建我的程序时,它给出了错误,指出数组的长度必须是恒定的。我通常使用-ansi和-Wall选项编译我的程序以确保交叉编译器的完整性,但即使这样也没有检测到。我担心我的成绩会因此而受到影响,所以有人知道为什么-ansi编译器没有发现这一点,以及如何防止进一步的交叉编译器差异?