【发布时间】:2017-10-14 13:59:01
【问题描述】:
template <Type T>
class Socket {
public:
enum class Type {
TCP,
UDP
};
...
}
我如何使用枚举Type 作为类模板?我想将其用作Socket::Type::UDP 等。
我尝试在Socket 之前声明enum class Socket::Type,但它不起作用。
【问题讨论】:
-
你会如何使用它?
Socket<Socket<???>::Type::TCP> -
我想用
Socket::Type::TCP -
不可能。在您提供参数之前,模板只是一个模板。
-
如果要将其保存在某物中,请考虑命名空间。
-
顺便说一句,为什么您的套接字是模板?套接字不只是二进制数据流吗?