我有一个C#类,从一个单独的项目(Visual Studio Express 2013)创建一个C ++ / CLI类的实例。这一切都很好,现在已经进行了一段时间。但是,我刚刚添加了一个新方法'SolvePressure',我收到了错误 “错误CS1501:方法'SolvePressure'没有重载需要12个参数” 当我尝试构建C#项目时。
C ++项目构建正常,而不是引用它的C#项目。 参数编号和类型匹配,我已经验证该方法是公开声明的。 Intellisense没有问题地提取方法,并没有给我任何警告。 我试过重建。我试过打扫卫生。我不确定还有什么可能是错的。有什么想法吗?
这里的参考是方法声明:
array<double, 2>^ SolvePressure(
double mu, double omega,
cli::array<double, 2>^ ax, cli::array<double, 2>^ ay,
cli::array<double, 2>^ bx, cli::array<double, 2>^ by,
cli::array<double, 2>^ cx, cli::array<double, 2>^ cy,
cli::array<double, 2>^ bd,
BC2D bc0, BC2D bc1,
cli::array<CH2D^>^ chs);
方法用法:
var pres = linker.SolvePressure(
this.Mu, this.Omega,
ax, ay,
bx, by,
cx, cy,
null,
new EigenSolver.BC2D(), new EigenSolver.BC2D(),
new EigenSolver.CH2D[0]);
感谢任何帮助!
答案 0 :(得分:0)
我的错误......我忘记将BC2D参数标记为句柄。
修正:
array<double, 2>^ SolvePressure(
double mu, double omega,
cli::array<double, 2>^ ax, cli::array<double, 2>^ ay,
cli::array<double, 2>^ bx, cli::array<double, 2>^ by,
cli::array<double, 2>^ cx, cli::array<double, 2>^ cy,
cli::array<double, 2>^ bd,
BC2D^ bc0, BC2D^ bc1,
cli::array<CH2D^>^ chs);
我确实希望Visual Studio能够引发更多信息错误......