我有一个模板功能。此函数返回相同的模板类型。例:它采用T型变量并返回T型变量。现在我可以使用静态强制转换将返回类型T变量强制转换为Uint32。我会收到任何错误
答案 0 :(得分:7)
根据我的理解,你有一个看起来像
的功能template <class T>
T noop (T a) {
return a;
}
并且你想要投射它的结果
uint32 i = static_cast<uint32>(noop(val));
如果val
属于可以强制转换为uint32的类型,则会成功,如果不是,则会失败。
uint32 i = static_cast<uint32>(noop(uint32(0))); // ok
uint32 i = static_cast<uint32>(noop("asdf")); // not-ok