注: Visual Studio 2010 を使用しています。
ここには、Date と Directory という 2 つの重要なクラスがあります。
class Date
{
private:
int month, day, year;
public:
Date();
Date(int month, int day, int year);
};
class Directory : public [Superclass]
{
private:
File* fileContents[50];
Directory* dirContents[5];
public:
Directory();
Directory(char* name,
long size,
Date dateCreated,
Date dateModified,
Date dateAccessed,
int attributes);
};
コンストラクターをさらに下に定義しました。コンストラクターは、Date
あなたが思っているように機能します。今、私はC++ に本当に慣れていないので、表示されるエラー メッセージを理解することさえできません。の既定のコンストラクターを使用しようとすると、次のDirectory
エラー メッセージが表示されます。
error LNK2019: unresolved external symbol "class Directory __cdecl d(void)" (?d@@YA?AVDirectory@@XZ) referenced in function _main
Date
このコードを使用して、3 つのオブジェクトを使用して作成しようとすると、次のようになります。
int main()
{
Date d1();
Date d2();
Date d3();
Directory d("Hello", 12, d1, d2, d3, 0);
cout << d;
}
これらは私のエラーメッセージです:
error C2664: 'Directory::Directory(char *,long,Date,Date,Date,int)' : cannot convert parameter 3 from 'Date (__cdecl *)(void)' to 'Date'
インテリセンス:no instance of constructor "Directory::Directory" matches the argument list
編集:したがって、私には意味をなさないための継続的な努力の中で、VSは、3つのDate
引数がで作成されDate da[3]
、コンストラクターの引数が("Hello", 12, d[0], d[1], d[2], 0)
.