这个对象是如何定义的

darcymei 2003-11-06 12:54:04
template <class Parm, class U>
Parm minus( Parm* array, U value )
{
typename Parm::name * p; // ok: 指针声明
}

primer上说如果我们想让函数模板minus()的表达式Parm::name 是个类型名
可以用typename 因而使整个表达式是一个指针声明.
请教Parm这个类应该是怎么样的呢才能使Parm::name表类型名
...全文
18 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
darcymei 2003-11-06
  • 打赏
  • 举报
回复
恩,两位的答案都很正确!谢谢
还有别的形式吗?
双杯献酒 2003-11-06
  • 打赏
  • 举报
回复
嵌套类
class Parm
{
class name
{
//
};
};
短歌如风 2003-11-06
  • 打赏
  • 举报
回复
要求Parm类必须有公开的名字为name的类型定义(用typedef或class、struct、enum等)
class X
{
public:
typedef std::string name;
};

X就可以作为Parm.

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧