QT中使用全局变量的BUG?请一定要看清楚我的问题再回答!!!

好几天了。我按照C++的标准,在头文件中加入了externintvar_name;而且在CPP文件里面也引用了头文件。但是在类的槽函数定义中却不能使用全局变量。我已经在一... 好几天了。我按照C++的标准,在头文件中加入了
extern int var_name;
而且在CPP文件里面也引用了头文件。但是在类的槽函数定义中却不能使用全局变量。我已经在一个函数中对全局变量进行了初始化,但是依然报错。function_name_1()和 function_name_1()都是声明的PUBLIC SLOTS。编译的时候说function_name_2()中的变量没有初始化。然后运行的时候就报RUN TIME的错,比较诡异,是VC++报的错。QT在DEBUG的时候提示的是
HEAP[maintest.exe]:
Invalid allocation size - A8444118 (exceeded 7ffdefff)
terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc

QWaitCondition: Destroyed while threads are still waiting
源代码:

C/C++ code

extern int var_name ; void MainWindow::function_name_1() { int var_name; var_name=1; }; void MainWindow::function_name_2() { // int var_name;不管是否定义这个都会出错!!! //先调用函数function_name_1()后再调用function_name_2() some_other_function(var_name); };
整理后的代码,先前的有点乱
extern int var_name ;
void MainWindow::function_name_1()
{
int var_name; var_name=1; };
void MainWindow::function_name_2()
{
// int var_name;不管是否定义这个都会出错!!!
//先调用函数function_name_1()后再调用function_name_2() some_other_function(var_name);
};
展开
 我来答
wulinwulin76
2011-01-21 · TA获得超过308个赞
知道小有建树答主
回答量:380
采纳率:0%
帮助的人:349万
展开全部
把function_name_1() 里,去掉 int var_name; 试试
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式