私が取得しています:エラーC2514クラスにはコンストラクタがありません。しかし、それはありますか?
エラー1つのエラーC2514: 'をEmployeeListNode':クラスにはコンストラクタを持っていない私が持っている
しかしEmployeeListNode.hでListOfEmployee.cpp
で
:
class EmployeeListNode
{
friend class ListOfEmployee;
public:
EmployeeListNode(string name, double salary); //A constructor no?
};
なぜそれがコンストラクタとして認識されないのか分かりません。 申し訳ありませんが、これは愚かな質問ですが、私は検索を通じて答えを見つけることができませんでした。
編集:エラーを与えているListOfEmployeeのセクション:
void ListOfEmployee::insert(string nameIn, double salaryIn){
EmployeeListNode *n1 = new EmployeeListNode(nameIn, salaryIn);
EmployeeListNode* tn;
if (head){
head = n1;
}else{
for (tn = head; tn->next; tn = tn->next);
}
} 編集2: そしてListOfEmployee.h場合、それは違いを作る:
#pragma once
#include<string>
using namespace std;
class EmployeeListNode;
class ListOfEmployee
{
public:
ListOfEmployee();
void insert(string name, double salary);
void display();
void deleteMostRecent();
double getSalary(string name);
~ListOfEmployee();
private:
EmployeeListNode *head;
};
デフォルトで、どこかで 'EmployeeListNode'を構築しようとしているようです。クラスメンバとして1つあり、初期化リストで初期化していない可能性がありますか?エラーがどこから来たのか投稿してください。 – TartanLlama
エラーを出しているListOfEmployee.cppのセクションを追加するように編集しました。 –