C++ 中初学者预期的类名错误

Beginner-Expected class name error in c++

本文关键字:错误 初学者 C++      更新时间:2023-10-16

对于类,我们正在创建一个从模板化类队列继承的类模拟,然后在程序 p05 中使用两者。到目前为止,我只是想确保类队列编译并且 SIM 界面中没有语法错误。队列编译正常。sim 的实现不是写的,只是类定义。它们都通过 makefile 链接到 p05,我收到以下错误:

~$ make -f p05make
g++ -c -g p05.cpp
In file included from p05.cpp:20:0:
Sim05.h:24:23: error: expected class-name before â{â token
make: *** [p05.o] Error 1
tt054@cs:~$

我不确定为什么这是因为我已经包含了 Queue05.h,并且我的类声明的语法与我们上次做类似的事情时相同。

队列05.h

#ifndef Queue05_h
#define Queue05_h 1
//Queue05.h contains the interface for class Queue
#include <cstdlib> 
#include <cstring> 
#include <iostream> 
template <class T>
class Queue {
//member data and functions omitted for length
};
#endif

模拟05.h

#ifndef Sim05_h
#define Sim05_h 1
#include <fstream>
#include <iostream>
#include <iomanip>
#include <string>
using namespace std;
#include "Queue05.h"
//next line is where error occurs
class Sim:public Queue{
//member data and functions omitted for length
};
#endif

正确的语法:

class Sim : public Queue<Type>{
... 
}