【问题标题】:how to define matrix in mainwindow.cpp c++如何在mainwindow.cpp c ++中定义矩阵
【发布时间】:2015-03-25 10:14:00
【问题描述】:
 spectre=spectrum->dft(uhd_samples,Ndft,noise_power);
    bool conclusion=stat->test(noise_power,&spectre,Ndft,lambda,Nsamples);

我在 qt creator 中有 2 个错误:

/home/hoss/cdf/mainwindow.cpp:45: error: cannot convert 'Matrix {aka std::vector<std::vector<float> >}' to 'MainWindow::Matrix*' in assignment
         spectre=spectrum->dft(uhd_samples,Ndft,noise_power);

/home/hoss/cdf/mainwindow.cpp:46: error: no matching function for call to 'AD_test::test(float&, MainWindow::Matrix**, int&, float&, int&)'
         bool conclusion=stat->test(noise_power,&spectre,Ndft,lambda,Nsamples);
                                                                             ^

dft 返回一个矩阵,所以我必须将幽灵定义为矩阵。我尝试创建struct matrix...但没有任何改变。

【问题讨论】:

    标签: c++ qt matrix


    【解决方案1】:

    第一个错误是因为您试图为指针赋值。当dft(..) 返回一个值时,您应该更改您的spectre 变量以存储它的副本。此外,MatrixMainWindow::Matrix 是否是同一类型也不是很清楚——它们需要是成功的分配(或至少是隐式可转换的)。

    第二个错误是可能(您没有提供AD_test::test(..) 的真实签名),因为spectreMainWindow::Matrix*,而您再次获取它的地址会导致MainWindow::Matrix**,很可能需要MainWindow::Matrix*,所以解决第一个问题也应该解决这个问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-31
      • 2018-02-15
      • 2019-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-22
      相关资源
      最近更新 更多