Qtに問題があります。
クラス「コア」があります
class Core {
public:
static QString get_file_content(QString filename);
static void setMainwindow(Ui::MainWindow const *w);
private:
static MainWindow *main_window;
};
名前空間 Ui のクラス 'MainWindow':
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow {
Q_OBJECT
public:
MainWindow(QWidget *parent = 0);
~MainWindow();
private:
Ui::MainWindow *ui;
};
MainWindow コンストラクターで作成する
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
Core::setMainwindow(this);
}
エラーが発生します
mainwindow.cpp:8: error: no matching function for call to 'Core::setMainwindow(MainWindow* const)'
もちろん、「Core」クラスの宣言で core.h をインクルードします。
これは setMainwindow メソッドでのみ発生します。
質問は、コア クラス メソッド setMainwindow() が MainWindow クラスで見えないのはなぜですか?