これは私のmain.cppです。私のプログラムはここから始まり、ここに問題があります:
2 つのエラーが表示されます。
行 23 の`BankController::BankController(TransactionRepository )*への未定義の参照
と
19 行目の`TransactionFileRepository::TransactionFileRepository(std::string) への未定義の参照
どちらもタイプは C/C++ 問題、リソースは main.cpp
#include "bankgui.h" #include "Controller/BankController.h" #include "Repository/TransactionFileRepository.h" #include "Repository/TransactionMemoryRepository.h" #include "Repository/TransactionRepository.h" #include <QtGui> #include <QApplication> #include <string> #include <iostream> using namespace std; int main(int argc, char *argv[]){ string path = "DataStorage/Database.txt"; //Instantiate the main data repository TransactionRepository* mainDatabase; mainDatabase = new TransactionFileRepository(path); // <-- Error here //Instantiate the main controller BankController* mainController; mainController = new BankController(mainDatabase); // <-- Same Error here //Starts the GUI QApplication app(argc, argv); BankGUI* mainWidget; mainWidget = new BankGUI(mainController); mainWidget->show(); return app.exec(); }
私は3つのクラスを持っています:
仮想TransactionRepository
上記のTransactionMemoryRepositoryを実装する 1 つのクラス
上記のTransactionMemoryRepositoryをTransactionFileRepositoryに継承する 1 つのクラス
Google で解決策を数時間検索してきましたが、試したすべての方法でこれらのエラーを取り除くことはできません。
これは私が取り組んでいる C++ QT プロジェクトです。プロジェクト プロパティにインクルード パスを追加して、機能させる必要がありました。
#include されているすべてのファイルが存在します。