INTERNAL COMPILER ERROR,该怎么解决

INTERNAL COMPILER ERROR
fatal   error   C1001:   INTERNAL   COMPILER   ERROR
(compiler   file   'msc1.cpp ',   line   1786)

造成这种问题的原因是编译器分配的内存超过了限制。
解决的办法有三种:
1.给编译器增大内存限制。在project(工程)-> setting(设置)-> c/c++的project   option(工程选项)中,添加/Zm#nn选项,#nn是一个数字,取值最大为2000。默认为100。但是这种方法好像没有什么用处。
2.将模板类头文件从stdafx.h中移出;
3.不使用预编译头文件。project-> setting-> c/c++,选择所有的.cpp文件,都使用“不使用预编译头文件“的选项。缺点是编译的时候很慢  
//1   3试过了,一样错误,2没有放那里。

------解决方案--------------------
有时候写的代码也会引起这个错误
vc8倒是很少遇见过这个问题