ヘッダー「dmanager1.h」で(他のクラスとともに)定義されている File というクラスがあります。「dmanager1.cpp」ファイル (dmanager1.h ファイルの実装) で、ヘッダーを 1 つの順序でリストすると、main.cpp と一緒にコンパイルしようとするとエラーが発生します (main.cpp はヘッダー以外は空です)呼び出しと空の「int main()」...基本的には、クラス .h および .cpp ファイルをテストしているだけです)... dmanager1.cpp ファイルでヘッダーを切り替えても、エラーは発生しません。何が起こっているのかわかりません。私が得ているエラーは次のとおりです: エラー: 'ファイル' は型に名前を付けていません
「dmanager1.cpp」でヘッダーを次のように並べると、エラーが発生します。
#include "dmanager1.h"
#include <iostream>
#include <cstring>
ヘッダーを次のように切り替えると:
#include <iostream>
#include <cstring>
#include "dmanager1.h"
...コンパイルエラーが発生しません。最初の注文が解析されるのはおかしいですか? どんな考えでも大歓迎です。
編集:問題のヘッダーの一部を追加しました...
#ifndef _dmanager1_h
#define _dmanager1_h
//--------------------
// Forward References
//--------------------
// Node_L, Node_T, and Sector are defined in File: dmanager1a.h
class Node_L;
class Node_T;
class Sector;
class File
{
public:
// Default Constructor
//File();
// Constructor: Allowing "name", "size", and/or "permissions" to be set
// Permissions set to default of 0 == read and write
File(const char * & name, float size = 0, int permissions = 0) : timestamp(11223333) {};
// Default Destructor
~File();
//returns an int corresponding to the date modified (mmddyy)
int get_date_mod(void) const {return timestamp;}
// Return's current level of permission on the File: 0 = read/write, 1 = read only
int get_permission(void) const {return permission;}
// Set's Permission to "level": 0 = read/write, 1 = read only
int set_permission(int level);
private:
// Data members
char * name;
float size_OA;
//function used to update "date modified"
void update_timestamp(void);
// Current permission level of the file: 0 = read/write, 1 = read only
int permission;
//value modified by update_timestamp() and the value returned by get_date_mod(). Date file last edited.
int timestamp;
};