【发布时间】:2013-12-23 09:59:58
【问题描述】:
我有一些模板类
template<typename ProgramBufferAttr>
struct CanvasDataBase{
enum class DrawType {Brush, Attr, AttrInst};
}
在那节课上我有枚举课。现在我想使用那个枚举。有没有办法在不专门模板(并且不添加默认 typename )的情况下解决该枚举。像这样:
CanvasDataBase::DrawType::Brush
我当然可以将枚举移出课堂。但是……
【问题讨论】:
-
不是说你有结构,没有类,所以文字有些不一致。
-
@LaszloPapp 在 C++ 中,使用关键字
class(默认访问控制为私有)或关键字struct(默认访问控制为公共)引入类。但在这两种情况下,它都是 C++ 术语中的一个类。 -
@LaszloPapp 按照标准,
struct和class关键字是class-keys。 -
@LaszloPapp 你很难意识到这个问题与类和结构之间的差异完全无关。您可以使用任何类键指定类型。
-
@LaszloPapp 我发现询问一个类并将其声明为结构非常一致,只要问题不是关于它们的差异。