| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 851 人关注过本帖
标题:vector 元素为指向函数的指针
只看楼主 加入收藏
gobraves
Rank: 2
等 级:论坛游民
帖 子:46
专家分:16
注 册:2013-8-3
结帖率:88.89%
收藏
已结贴  问题点数:20 回复次数:10 
vector 元素为指向函数的指针
程序代码:
#include<iostream>
#include<vector>
using namespace std;


int cal(int a,int b)
{
    cout<<a<<b<<endl;
    return a+b;
}


int main()
{
    int x=9;
    int y=8;
    typedef int q(int,int);
    vector<q*> v(4,0);                 //若把这里改为 q* v;
    v[0]=cal;                          //             v=cal;
    cout<<v[0](x,y);                   //             v(x,y)
                                       //       

    return 0;
}


为啥按注释里那样写就没错,我换用vector后就有问题。
我把编译器报错的说明放这:
error: invalid conversion from 'int' to 'std::vector<int (*)(int, int)>::value_type {aka int (*)(int, int)}' [-fpermissive]|

我的理解是一个整形转换为vector<int (*)(int, int)>不合法,但没找到啊

请各位帮忙看看,谢谢了
搜索更多相关主题的帖子: 元素 
2014-06-04 01:27
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:5 
不懂玩語言游戲

授人以渔,不授人以鱼。
2014-06-04 02:39
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9024
专家分:54030
注 册:2011-1-18
收藏
得分:5 
要么,你换个『支持C++得不那么烂』的编译器试试
2014-06-04 08:53
gobraves
Rank: 2
等 级:论坛游民
帖 子:46
专家分:16
注 册:2013-8-3
收藏
得分:0 
回复 3 楼 rjsp
我用是的codeblocks,那个用的应该是mingw的编译器
我想问下,我这程序写的有问题吗?
2014-06-04 13:59
gobraves
Rank: 2
等 级:论坛游民
帖 子:46
专家分:16
注 册:2013-8-3
收藏
得分:0 
回复 2 楼 TonyDeng
这是c++primer第五版上的一个题,我搞不懂为什么出错
2014-06-04 14:02
hubinyes
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:11
帖 子:104
专家分:557
注 册:2014-2-4
收藏
得分:5 
vector<q*> v(4,0); 0不就是一个整形吗?初始化4个0.
2014-06-06 21:23
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
以下是引用gobraves在2014-6-4 14:02:02的发言:

这是c++primer第五版上的一个题,我搞不懂为什么出错

 我虽然没第五版,但也不大相信它会有这样的代码示范。第四版我是有的,但提到typedef的就不过半页纸,也没教读者用这个来作函数的同义词。在C++中,极少用typedef的,难道第五版倒退了居然重点介绍这个东西起来了?

[ 本帖最后由 TonyDeng 于 2014-6-6 21:36 编辑 ]

授人以渔,不授人以鱼。
2014-06-06 21:35
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:5 
楼主的代码 我这里GCC 4.9.0 -Wall 没有error和warning
2014-06-07 11:43
gobraves
Rank: 2
等 级:论坛游民
帖 子:46
专家分:16
注 册:2013-8-3
收藏
得分:0 
回复 8 楼 zklhp
我codeblocks用的是gcc 4.7.1的编译有问题,我用vs2013就没问题,无语了
2014-06-09 09:01
gobraves
Rank: 2
等 级:论坛游民
帖 子:46
专家分:16
注 册:2013-8-3
收藏
得分:0 
回复 3 楼 rjsp
的确是编译器问题
2014-06-09 09:08
快速回复:vector 元素为指向函数的指针
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.043571 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved