【问题标题】:error CS1501: No overload for method 'SolvePressure' takes 12 arguments错误 CS1501:方法“SolvePressure”没有重载需要 12 个参数
【发布时间】:2014-08-06 12:39:58
【问题描述】:

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

感谢任何帮助!

【问题讨论】:

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


    【解决方案1】:

    我的错误...我忘记将 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 会抛出更多信息错误...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-12
      • 1970-01-01
      • 2022-01-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多