int& 定义的变量的类型却是 int

cxjddd cxjddd 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
听几个高人讨论,写这个程序:
template <typename T, typename C>
struct CompilerTypeCheck
{
};

template <typename T>
struct CompilerTypeCheck<T, T>
{
typedef T value_type;
};

template <typename T, typename C>
void
VarTypeCheckFunction (C c)
{
typename CompilerTypeCheck<T, C>::value_type t = c;
}

template <typename T>
struct CheckType
{
template <typename C>
CheckType (C c)
{
T t = c;
VarTypeCheckFunction<T>(t);
}
};

int
main ()
{
CheckType<int> i(0);
CheckType<int&> r(0); // 编译错误
}
...全文

相关推荐

评论 16
收藏 已收藏
分享
返回顶部
cxjddd
C++ 语言 65,214 成员 250,514 内容