私は何日もの間私を困惑させているエラーに遭遇しました。簡単なグーグルは私に答えを与えませんでした。私の目には、コードにエラーはありませんが、プログラムを実行すると、9 Unresolved External Symbol(LNK2019)エラーが発生します。エラーの1つを解読しようとした後、それは。という名前の関数で発生していると思いますcreateMortgage
。これが私の関数の呼び出しです。
customers
ベクトルです。
for (unsigned int i = 0; i < customers.size(); i++)
{
Customer tempcust = customers.at(i);
if (tempcust.getId() == id)
{
customers.at(i).createMortgage();
}
}
これが関数自体です。
void createMortgage(){
int amount;
cout << "Amount?";
cin >> amount;
Mortgage mort(amount);
mortgages.push_back(mort);
}
そして、ここで、それはすべて栄光であり、エラーです。
Error 4 error LNK2019: unresolved external symbol "public: __thiscall Mortgage::Mortgage(double)" (??0Mortgage@@QAE@N@Z) referenced in function "public: void __thiscall Customer::createMortgage(void)" (?createMortgage@Customer@@QAEXXZ) F:\C++ assignment (Real)\C++ assignment (Real)\Driver.obj C++ assignment (Real)
これが私の住宅ローンの.hファイルです。
#pragma once
//#include <iostream>
//#include <String>
class Mortgage
{
private:
int id;
double amount;
public:
Mortgage(double amount);
double getAmount();
int getId();
};
そして、これが私の住宅ローンの.cppファイルです。
#pragma once
extern int idcreation;
class Mortgage
{
int id;
double amount;
Mortgage(double amount)
{
this -> amount = amount;
this -> id = idcreation;
idcreation++;
}
int getId(){
return id;
}
double getAmount(){
return amount;
}