1

重複の可能性:
コンストラクターへの呼び出しがないのはなぜですか?
「inta();の効果は何ですか。」をC++で?
テストtの違いは何ですか。およびテストt();?テストがクラスの場合

オブジェクトを作成する命令は、ゲームのプロジェクトが作成しようとしているため、何らかの理由で無視されています。

プロジェクトはまだ始まったばかりです。なぜ起こっているのかわかりません。

ideとしてnetbeansを使用し、コンパイラーとしてg ++を使用し、OSはubuntu12.10です。

これが起こっているコードはこれです:

#include "Vector.h"
#include"Motor.h"
int main(int argc, char** argv)
{ 
    Motor m1(); 
    return 0;
}

「Motorm1();」にブレークポイントを設定したとき デバッグを押すと、矢印がreturn命令にジャンプし、オブジェクトのコンストラクターが実行されません。

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)」はテスト目的であります。

なぜこうなった?

4

1 に答える 1

3
Motor m1(); 

これはm1、パラメータを受け取らず、クラスのインスタンスを返す関数であることを意味しますMotor

もしかして:

Motor m1;

これは、デフォルトでクラスのインスタンスを作成し、Motorそれを呼び出すことを意味しますm1

于 2012-11-29T01:41:57.043 に答える