宏定义报重载错误

我写了一个宏定义,

#define SWAP(a,b) {swap=(a);(a)=(b);(b)=swap;}

然后在函数中进行引用,
            for (i=1;i<=ma;i++)
                SWAP(covar[k][i],covar[j][i])

在编译过程中出现如下错误

error: overloaded function with no contextual type information  #define SWAP(a,b) {swap=(a);(a)=(b);(b)=swap;}

最终发现是宏定义中使用了变量swap,但是我在函数中却没有定义。因此在函数中加一个swap的定义就好了

double swap;

你可能感兴趣的:(宏定义报重载错误)