• 7179阅读
  • 7回复

[提问]函数返回类型问题 [复制链接]

上一主题 下一主题
离线zhoumfk1978
 

只看楼主 倒序阅读 楼主  发表于: 2012-06-02
现在我想写个函数,函数实现的功能是返回想要的数据类型
比如我想要整型数据,调用函数Func()就能返回整型数据,我想要实型数据,
同样调用Func()就能返回实型数据,当然想要什么类型的数据可以通过函数里面的
内容来控制,但返回值类型则需要根据内容来变化,怎么做到这种变化。
不知道我说清楚没有,有没有大侠告诉我,谢谢了
离线dbzhang800

只看该作者 1楼 发表于: 2012-06-03
找本C++的书,看看模板部分。或者直接找本C++模板编程的书
离线zhoumfk1978

只看该作者 2楼 发表于: 2012-06-03
现在的模版解决不了我的问题
我要做的是这种事情:
我想编个软件调用别人的库算法,别人的库函数里面的参数类型我不知道,参数个数我也不知道,但我只知道函数名字以及通过界面传递的参数类型及个数,那我想通过qlibary来调用,但qlibary需要具体的参数类型及个数,我怎么搞,我写了一段代码,只有一点没有走通,你如果懂的话能否帮我,可以QQ具体谈谈
离线zhoumfk1978

只看该作者 3楼 发表于: 2012-06-03
可能说了半天意思没有搞明白:
我写了个函数,你们看函数就能明白了
template<class Type> Type func(QVariant a)
{
if(a.type()==QVariant::Bool) return a.toBool();
else if(a.type()==QVariant::Int) return a.toInt();
return 0.;
}
我就需要实现这种功能的函数,但这个函数编译不通过,怎么搞?那位大侠帮帮忙,我QQ469213471
离线XChinux

只看该作者 4楼 发表于: 2012-06-03
是运行时决定?还是编译时决定?如果是运行时决定,那就不能用模板了。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线zhoumfk1978

只看该作者 5楼 发表于: 2012-06-03
编译时通不过
myFunction(pTemp, 100,func(listParameter[0]),func(listParameter[1]));
我在调用这个函数时就出现如下问题:
error C2783: 'Type func(QVariant)' : could not deduce template argument for 'Type'
离线roywillow

只看该作者 6楼 发表于: 2012-06-03
重载,枚举一切可能呢?
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线lejcey

只看该作者 7楼 发表于: 2012-06-03
应该不行把,C++是静态类型的语言,返回值和调用的参数都不知道,那么编译器就不知道函数是哪个,从而也不知道函数的地址在哪里,怎么调用?还有,调用约定是什么?这些都不知道,怎么调用?

如果只有dll,那么用ida反汇编后去找。
快速回复
限100 字节
 
上一个 下一个