下面一段简单的代码
void fun()
{
complex<double>  *X1,*X2 ;
 
// 分配运算所需存储器
  X1 = new complex<double>[10];
X2 = new complex<double>[10];
 
X1[0] = complex<double> (cos(0), sin(0));
  X2[1] = X1[1] + X1[ 2];
 
}在DEBUG下能通过编译,而在RELEASE下报错
D:\xf\111\111Dlg.cpp(191) : 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请各位STL高手指点

解决方案 »

  1.   

    这个很有可能是VC6对TEMPLATE的支持的问题,请打VS补丁SP5.
      

  2.   

    程序没问题,同意baodi_z(冷冷的太阳) 所说。
      

  3.   

    在DEBUG下能通过编译,而在RELEASE下报错将X1[0] = complex<double> (cos(0), sin(0));
    注释掉,能DEBUG和RELEASE通过编译我也认为是程序BUG
      

  4.   

    可能是优化的结果
    你试试这样行不行
    Project|Setting...|C/C++
    设置Optimations:Default可以实现★★★★★★★★★★★★★★★★★★★
    若为Release则Optimeations为Max Speed