gpt4 book ai didi

c++ - '{' token c++ 继承问题之前的另一个预期类名

转载 作者:太空宇宙 更新时间:2023-11-04 12:56:11 24 4
gpt4 key购买 nike

好像找不到哪里出错了。我认为不存在循环实现问题。我很确定所有 .h 文件都包含在它们需要的位置。 Array 继承自 BaseArray:

错误:

In file included from driver.cpp:6:0:
Array.h:10:1: error: expected class-name before ‘{’ token
{

基本数组.h:

#ifndef _BASEARRAY_H_
#define _BASEARRAY_H_

#include <cstring>

template <typename T>
class BaseArray
{
public...
}
#include "BaseArray.inl"
#include "BaseArray.cpp"

#endif // !defined _BASEARRAY_H_

基础数组.cpp:

#include "BaseArray.h"
#include <stdexcept>
#include <iostream>

//..Constructors, Destructors, Functions...

数组.h:

#ifndef _ARRAY_H_
#define _ARRAY_H_

#include "BaseArray.h"
#include <cstring>


template <typename T>
class Array: public BaseArray
{
public:
......
};
#include "Array.inl"
#include "Array.cpp"

#endif // !defined _ARRAY_H_

数组.cpp

#include "Array.h"
#include "BaseArray.h"
#include <stdexcept>
#include <iostream>
//
// Array
//


template <typename T>
Array <T>::Array (void): BaseArray<T>()

//...more and more code

最佳答案

改变这个:

class Array: public BaseArray

为此:

class Array: public BaseArray<T>

因为 BaseArray 是一个模板类。

此外,在您的头文件中,您不会在类的末尾放置分号。

关于c++ - '{' token c++ 继承问题之前的另一个预期类名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46576986/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com