错误CS1501:方法'SolvePressure'没有重载需要12个参数

时间:2014-08-05 09:33:21

标签: c# visual-studio-2013 c++-cli

我有一个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]);

感谢任何帮助!

1 个答案:

答案 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能够引发更多信息错误......