我正在做一個小遊戲,我有一個結構,包含精靈信息。該精靈的成員之一可以是SDL_Texture或其他任何類型的成員。我正在編寫這個結構作爲支持多種平臺的方法。我的整個代碼引用這個結構,並且根據它運行的平臺,「紋理」成員可以是任何類型:SDL_Texture,kgl_Tex,byte []等。柔性構件類型的結構?
如何創建一個具有靈活性的結構成員類型並允許我的代碼支持多種平臺特定的類型?順便說一句,我對ANSI C.
下面是一個更加「真實」的例子就是我在尋找:
typedef struct
{
int frames;
int x;
int y;
? *texture;
} Sprite;
void load_sprite()
{
Sprite sprite;
sprite.texture = load_sdl_sprite('test.png'); // This will return a SDL_Texture*
sprite.texture = load_kgl_sprite('test.png'); // This will return a kgl_tex*
sprite.texture = load_lib_sprite('test.png'); // This will return a sprite_t*
}
不,它不是一個可變長度數組,我正在尋找:它將不同類型的變量分配給同一個成員。像泛型一樣,使用C++。 – vinnylinux
你可以試試'union' – nullpotent
我用更簡潔明瞭的例子更新了我的問題。 – vinnylinux