| 查看: 975 | 回复: 5 | ||
| 当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖 | ||
lixy1217木虫 (著名写手)
|
[求助]
求帮忙看一个关于模板友元函数的错误 已有1人参与
|
|
|
对于这样一个简单程序 #include<iostream> using namespace std; template < class T > double func(T&a) { return a.x; } class A { private: double x; public: template < class T > friend double func(T&a); void solve() { double s; A a; s=func<A>(a); //// cout<<s<<endl; } }; void main() { A a; a.solve(); } 结果显示了这样的错误: e:\学习\cpp\测试\test.cpp(21) : error C2440: '=' : cannot convert from 'void' to 'double' Expressions of type void cannot be converted to other types 其中21行就是我标有 //// 的那一行。很纳闷,func的申明明明都是以double返回的,可为什么这里貌似却是void型 更加奇怪的是,class A中去掉对于func的友元定义,然后把double x放到public:里面,程序居然又对了,实在没搞懂原因,求高手解答。 |
» 猜你喜欢
各位大神,目前国内有哪些比较好用的逆合成软件?
已经有9人回复
国社科系统bug了,是不是要放榜了?
已经有7人回复
申博发邮件
已经有7人回复
上海工程技术大学激光智能制造课题组|2027级博士研究生招生公告
已经有8人回复
上海工程技术大学激光智能制造课题组招收博士研究生
已经有8人回复
27秋季材料博士申请求助
已经有4人回复

锐利的碎片
木虫 (正式写手)
star watcher
- 应助: 136 (高中生)
- 金币: 3637.1
- 散金: 252
- 红花: 22
- 帖子: 988
- 在线: 1224.9小时
- 虫号: 961933
- 注册: 2010-03-05
- 专业: 凝聚态物性 II :电子结构
6楼2014-01-10 20:23:22

2楼2014-01-08 10:34:09
lixy1217
木虫 (著名写手)
- 应助: 4 (幼儿园)
- 金币: 4629.6
- 散金: 117
- 红花: 7
- 帖子: 1381
- 在线: 234.3小时
- 虫号: 1125891
- 注册: 2010-10-18
- 性别: GG
- 专业: 计算数学与科学工程计算

3楼2014-01-08 11:49:13
lixy1217
木虫 (著名写手)
- 应助: 4 (幼儿园)
- 金币: 4629.6
- 散金: 117
- 红花: 7
- 帖子: 1381
- 在线: 234.3小时
- 虫号: 1125891
- 注册: 2010-10-18
- 性别: GG
- 专业: 计算数学与科学工程计算

5楼2014-01-10 10:37:51










回复此楼