这个问题已经在这里有了答案:
已关闭8年。
我出于某种原因试图创建游戏项目而忽略了我创建对象的说明。
该项目才刚刚开始,我不知道为什么会这样。
我使用netbeans作为ide,使用g++作为编译器,操作系统是ubuntu 12.10。
发生这种情况的代码是这样的:
#include "Vector.h"
#include"Motor.h"
int main(int argc, char** argv)
{
Motor m1();
return 0;
}
当我在“Motor m1();”上设置断点时并点击调试,箭头跳至返回指令,并且该对象的构造函数未执行
Motor的代码是这样的:
#include "Motor.h"
Motor::Motor() {
SDL_Init(SDL_INIT_EVERYTHING);
pantalla=NULL;
pantalla=SDL_SetVideoMode(800,600,32,SDL_SWSURFACE);
SDL_Delay(2000);
}
Motor::~Motor() {
SDL_Quit();
}
“SDL_Delay(2000)”用于测试。
为什么会这样呢?
最佳答案
Motor m1();
这意味着
m1
是一个不带参数的函数,它返回Motor
类的实例。你的意思是:
Motor m1;
这意味着默认构造一个
Motor
类的实例,并将其称为m1
。关于c++ - ubuntu 12.10中的c++和netbeans中的一条指令被忽略,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13617410/