次のようなコンストラクターのプロトタイプがあります。
template <typename type_position> window(
const int size[2],
const char* caption="Window", const SDL_Surface* icon=NULL,
bool fullscreen=false, bool vsync=true, bool resizable=false, int multisample=0,
type_position position=type_position(0)
)
次に、インスタンスを作成します。
new window(screen_size,"My Window",NULL,fullscreen);
問題(私が推測する)は、T
明示的に指定できないことです(つまり、int
orまたはlong
orshort
などである可能性があります)。エラーが発生します:
エラーC2660:'ウィンドウ':関数は4つの引数を取りません
次に、タイプを指定しようとしました。
new window<int>(screen_size,"My Window",NULL,fullscreen);
しかし、それは機能しません:
エラーC2512:'ウィンドウ':使用可能な適切なデフォルトコンストラクタがありません
エラーC2062:タイプ'int'予期しない
私はいくつかの調査を行いましたが、私の場合、テンプレートパラメータを最初の引数から推測できることを除いて、 「 C++テンプレート関数のデフォルト値」という質問に最も近いものを取得できました。
それで、私は立ち往生していますか、それとも私が欠けているものがありますか?