我正在编写几个将模板函数的结果作为输入的函数:intalg1(Vect3){...}...intalgN(Vect3){...}voidmain(){alg1(mat.topRightCorner())}哪里,如果你好奇,topRightCorner返回mat的子矩阵,来自Eigen的方法,其中维度在编译时已知时作为模板参数放置。但是使用宏创建一个“快捷方式”以在不同算法之间快速切换(因为在实际代码中该函数被多次调用),就像这样#defineALG(X)(algN(X))ALG(mat.topRightCorner())给出了一个错误,因为宏被正确扩展但不知何故被误解为有两个不同的参数