班级的正向声明:语法错误
Forward Declaration of Class: Syntax Error
我在以下代码中获得声明语法错误:
fileio.h
class fileio; //ERROR HERE: I'm trying to declare it so I can use it in read() function
int read(char* file_1); //File Read Function
fileio.cpp
int read(char* file_1) { //File Read Function
fileio Object_1;
int records_read=0;
ifstream fin;
fin.open(file_1, ios::binary); //Opens the file again
while(fin.read((char*)& Object_1, sizeof(Object_1))) {
records_read++;
Object_1.show_tablular();
}
fin.close();
return records_read;
}
test.cpp
template <class T>
void AddColumn(T data, const int& width) {
cout<<setw(width)<<data<<" | ";
}
void Test_Class::show_tablular() {
cout<<endl; AddColumn(record_id,7); AddColumn(char_member, 20); AddColumn(int_member, 11); AddColumn(float_member, 13);
}
内部()
class fileio : public Test_Class { //Trying to relate the 2 classes
public:
void show_tablular() {
Test_Class::show_tablular();
}
};
我不明白为什么会发生...
正向声明对于解决声明中的指针和参考类型是可以的。
但是,编译器在编译功能时需要对类型的完整定义。
相关文章:
- 为什么包含windows.h会产生语法错误,从而阻止类的实例化?(C2146,C2065)
- 错误 C2760:语法错误:映射迭代器上意外的标记"标识符",预期的";"
- 为什么我会收到错误 C2143 语法错误:缺少"*"之前的';'?
- 奇怪的代码抛出编译错误模板< J,int aSize=10> C2143:语法错误:在"<"之前缺少";"
- "错误 C0000:语法错误,令牌"<EOF>"处出现意外$end,并且不确定
- 我该怎么做才能摆脱使用命名空间时的语法错误?
- 如何摆脱错误c2061;语法错误 cout?
- 语法错误:D3DX10Core 中的标识符'TEXTMETRICA'
- 错误 C2146:语法错误:标识符"A1"之前缺少","
- main.cpp(11):错误 C2059:语法错误:"字符串"
- RedisGraph 语法错误在偏移量 8 靠近"创建"
- 如何修复此 FSM C++语法错误 C3867
- 函数错误 C2059:语法错误:'>'不起作用
- 为什么在main()之前断言会导致语法错误"error: expected ')' before numeric constant"?
- c++default-int中的语法错误
- "pip install openexr"上的语法错误:错误的编译器?
- 为什么我收到语法错误:在"*"之前缺少";"
- 错误 C2059:语法错误:从结构成员声明'constant'
- C++语法错误,编译器不会警告或 int v = func(&v) 出错;
- 我正在调试这个C++程序.编译器不再显示语法错误,但存在隐藏的逻辑错误