| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 851 人关注过本帖
标题:vector 元素为指向函数的指针
取消只看楼主 加入收藏
gobraves
Rank: 2
等 级:论坛游民
帖 子:46
专家分:16
注 册:2013-8-3
结帖率:88.89%
收藏
已结贴  问题点数:20 回复次数:4 
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
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
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.017101 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved