c++。编译错误。我正在尝试使用枚举模板参数添加朋友模板函数
请帮助编写下一个代码:
typedef enum {a1, a2, a3} E;
template<E e>
int foo() {
return static_cast<int>(e);
}
class A {
A() {};
friend int foo<E e>();
};
编译器说:错误C2146:语法错误:标识符“e”之前缺少“,”
如果有人可以解释我的错误,我会很高兴。 谢谢。
Please help with the next code:
typedef enum {a1, a2, a3} E;
template<E e>
int foo() {
return static_cast<int>(e);
}
class A {
A() {};
friend int foo<E e>();
};
The compiler says: error C2146: syntax erorr: missing "," before identifier "e"
I would be glad if someone could explain my mistake.
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您希望类
A
与函数模板foo()
成为好友,您需要使用:您还可以与函数模板
foo() 的特定实例成为好友:
If you want class
A
to befriend the function templatefoo()
, you need to use:You can also befriend a particular instantiation of the function template
foo()
: