1

このエラーが発生します:

Expected '(' for function-style cast or type construction

2行目:

struct OpenALInterface * CreateOpenALInterface(int numLoadedSounds, int numPlayingSounds){
   return new IOS_OpenAL(int numLoadedSounds, int numPlayingSounds); //ERROR ABOVE
   //    return new IOS_OpenAL();  //this works fine, no error
 };

クラスにはこれがあります:

class IOS_OpenAL: public OpenALInterface{

 public:

IOS_OpenAL(int numLoadedSounds, int numPlayingSounds){
    //do stuff
   };

  //    IOS_OpenAL(){}; //works

このエラーは正確には何を指しているのですか?構文エラーのようです。

基本クラスはコンストラクターのない抽象クラスです。それが問題ですか?サブクラスは、基本クラスにない独自のコンストラクターをオーバーライドまたは持つことができますか?

4

2 に答える 2

3
return new IOS_OpenAL(int numLoadedSounds, int numPlayingSounds);

する必要があります

return new IOS_OpenAL(numLoadedSounds, numPlayingSounds);

エラーが発生するのは、コンパイラがこれらの「int」トークンを見て、何かを int にキャストしようとしていると考えているが、そうではないためです。

于 2013-01-23T06:42:45.087 に答える
3

これを意味しましたか:

struct OpenALInterface * CreateOpenALInterface(int numLoadedSounds, int numPlayingSounds){
   return new IOS_OpenAL(numLoadedSounds, numPlayingSounds);
};
于 2013-01-23T06:43:15.843 に答える