sách gpt4 ai đã đi

c++ - 类名没有命名模板继承的类型问题

In lại 作者:塔克拉玛干 更新时间:2023-11-03 07:06:54 26 4
mua khóa gpt4 Nike

纯虚拟类,AbstractThing.hpp:

#ifdef ABSTRACT_INTERFACE_FOR_THING
#define ABSTRACT_INTERFACE_FOR_THING

namespace A
{
namespace B
{

template
class AbstractThing
{
công cộng:
virtual ~AbstractThing() = 0;
virtual T GetStatus() = 0;
};

}
}
#kết thúc nếu

头文件,Thing.hpp:

#ifdef _THING_H
#define _THING_H

#include "AbstractThing.hpp"
namespace A
{
namespace B
{
template
class Thing : public AbstractThing {
công cộng:
Thing();
~Thing();
T GetStatus();
};

}
}

#kết thúc nếu

源文件,Thing.cpp,

#include "Thing.hpp"

namespace A
{
namespace B
{
template
Thing::Thing() {}

template
Thing::~Thing() {}

template
T Thing::GetStatus() { ... }
}
}

我一直遇到这个问题,编译器提示类名 (Thing) 不是类型。但是,它是在头文件中声明的。从阅读其他帖子来看,这个问题似乎通常是由于未能预先声明函数或类引起的。但是,我不明白为什么我的代码没有完成这个。我认为这可能是命名空间问题,因为如果我删除命名空间访问 (Thing::),GetStatus() 将编译,但删除命名空间没有帮助。

26 4 0
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com