// myfft前的定义. 用了复数模板
#include "complex"
using namespace std;                // very important
#define PI 3.1415926
typedef complex<double> complexd;   // use template 
void myfft(double y[][2], int N)    //N is the power of 2 (as 8,64, 1024)
{
    complexd *w =  new complexd[N/2];
    complexd *x =  new complexd[N];
    ........
    delete w;             // 提示这行错!. 如果删除此行,这提示delete x 行错误.
    delete x;
}Debug编译没有任何问题.程序运行正常!
Release编译时提示: 1个错误, delete w; 行错!
:\Screen\Udp\RS20051024(时间限制,单串口编程,系统对话框,声控)\SoundEffect.cpp(177) : fatal error C1001: INTERNAL COMPILER ERROR
  (compiler file 'E:\8168\vc98\p2\src\P2\main.c', line 494)
    Please choose the Technical Support command on the Visual C++
    Help menu, or open the Technical Support help file for more information我机子上没有 E:\8168\..这个目录的. 这是怎么回事呀??

解决方案 »

  1.   

    可能是debug和release混用的问题
      

  2.   

    MSDN的解释:
    The compiler cannot generate correct code for a construct, probably due the combination of an expression and an optimization option. Try removing one or more optimization options and recompiling the function containing the line indicated in the error message.You can probably fix the problem by removing one or more optimization options. To determine which option is at fault, remove options one at a time and recompile until the error message goes away. The options most commonly responsible are /Og, /Oi, and /Oa. Once you determine which option is responsible, you can disable it using the optimize pragma around the function where the error occurs and continue to use the option for the rest of the module.