[英]How to define a default typecast operator in C++
我为几种类型重载了typecast运算符。 现在,我想为所有其他类型转换调用特定函数。 我该怎么做?
明显但烦人的问题。
operator T()
缺少typename
。
template <T> operator T();
需要是
template <typename T> operator T();
访问问题。
更改class Foo
以struct Foo
或将功能public
。
失踪;
在类定义的末尾。
主要问题是您无法专门化成员函数模板。 但是,您可以使它们过载,效果相同。
struct Foo {
template <typename T>
operator T();
operator int();
operator char();
};
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.