c ++中的初学者 - 期望的类名错误

时间:2014-02-24 17:37:29

标签: c++ class inheritance

对于类,我们创建一个继承自模板化类Queue的类Sim,然后在程序p05中使用它们。到目前为止,我只是想确保类Queue编译并且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,我的类声明的语法与我们上次做类似事情的语法相同。

Queue05.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

Sim05.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

1 个答案:

答案 0 :(得分:1)

正确的语法:

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