QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 900|回复: 5

请教大侠们,QT中为什么参数传不出去呢?

[复制链接]
发表于 2005-5-26 10:04:33 | 显示全部楼层 |阅读模式
我现在在我的QT中的一个slot中定义了一组double类型的参数,之后调用一个menu()函数,这个函数的具体内容写在另一个.cpp里面,现在我想把我定义的参数传给这个函数中定义的double变量,具体做法:
asolt()
{
boube a;
menu(a);
.
.
.
}
另一.cpp个文件中
menu(double&)
{
double x;
x=a;
}


我在头文件中已经定义了double a和menu(double&)而且也把这个头文件放在了这2个.cpp文件里了呀!可是,编译报错说menu所在的.cpp文件中找不到参数a的定义,这到底是怎么回事呀?各位高手请指点,小妹现在处于迷茫中,很郁闷~>_<~
发表于 2005-5-26 10:10:35 | 显示全部楼层
看得头晕了, 你最好把代码全贴出来
用[ c o d e ] 标签把代码包起来
回复

使用道具 举报

 楼主| 发表于 2005-5-26 11:04:22 | 显示全部楼层
第一个form.cpp 文件中:
void closeForm::parainputslot()
{
   double a = atof(cStoplineEdit->text());

   Menu_Encoder(a);
}
第二个menu.cpp文件中:
void Menu_Encoder(double &)
{  double blocknum;
  blocknum = a;
}
第三个头文件里:
void Menu_Encoder(double &);
double a;
第四个头文件就是 form.h 里面的内容就不用说了
就是这样,可是,编译报错说menu.cpp文件中找不到参数a的定义???
回复

使用道具 举报

 楼主| 发表于 2005-5-26 13:43:33 | 显示全部楼层
在slot()外定义一个extern double a;
可是,却在最后时刻列出一堆奇怪的错误,大家看看这些是什么?
init_system.o(.text+0x0):/home/ztt/qt/zt9/mainform.ui.h:12: first defined here
closeform.o(.text+0x32e: In function `closeForm::parainputslot()':
/usr/include/stdlib.h:608: undefined reference to `qstop'
closeform.o(.text+0x3342):/usr/include/stdlib.h:608: undefined reference to `qstart'
55555555555555
救命呀!~>_<~
回复

使用道具 举报

 楼主| 发表于 2005-5-26 18:21:14 | 显示全部楼层
init_system.o(.text+0x1401): In function `Menu_Encoder(double&, double&, double&, double&, double&)':
/home/ztt/qt/zt9/init_system.cpp:789: undefined reference to `qblock'
init_system.o(.text+0x141b):/home/ztt/qt/zt9/init_system.cpp:798: undefined reference to `qstart'
init_system.o(.text+0x143c):/home/ztt/qt/zt9/init_system.cpp:865: undefined reference to `qIter'
init_system.o(.text+0x144b):/home/ztt/qt/zt9/init_system.cpp:833: undefined reference to `qstop'
collect2: ld returned 1 exit status
make: *** [zt9] Error 1
为什么是.o文件编译出错呢?
回复

使用道具 举报

 楼主| 发表于 2005-5-26 20:37:35 | 显示全部楼层
最后还是变量声明的问题,呵呵,终于解决了,应该把变量声明为全局静态变量就好了!大家共享!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-6 00:27 , Processed in 0.040895 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表