英特尔C ++编译器显示Visual Studio 2013编译器未曾看到的错误

时间:2015-07-06 12:06:53

标签: c++ visual-studio visual-studio-2013 compiler-errors intel

为什么英特尔C ++编译器会遇到Visual Studio 2013编译器看不到的错误?

错误是三种类型的错误:error: declaration is incompatible with,例如

Error   8   error : declaration is incompatible with "void gauss<nzx,      
iv>::myfun_new(const coef_struct<nf, 
nzx> &, const inversion_controls_struct *, const 
inversion_interOut_struct *, double *)" 
(declared at line 139 of xxxx)

其中声明在头文件中,

template<int nzx, int iv> void gaussNewton<nzx,iv>::myfun_new(const 
coef_struct<nf,nzx>& j, 
const inversion_controls_struct *inv_Controls, const 
inversion_inter_struct *inter, double* __restrict cob)

对于这个特殊情况有什么想法吗?与__restrict关键字有关?更一般地说,是什么让一个编译器比另一个编译器更敏感?

修改

通过更多故障排除,我发现只有那些参数类型为

的方法
template<int nf, int nzx> struct coef_struct{}

有麻烦,也就是说只有一个带有模板化结构类型的争论者的方法

0 个答案:

没有答案