当构造函数为私有时,我如何动态创建fmod ::声音

How do I dynamically create FMOD::Sounds when constructor is private?

本文关键字:动态 创建 声音 fmod 何动态 构造函数      更新时间:2023-10-16

我想拥有声音的C 向量(或nsmutabledictionary),因此用户可以记录n事物并播放它们。

但是,当我尝试创建new FMOD::Sound时,我会被告知其构造函数是私人的 - 在Sound类定义中,它说明:

构造函数制造了私有,因此用户无法静态实例一个声音类。必须使用适当的声音创建或检索功能。

那么如何动态创建一个新的声音对象?系统中有一个创建方法,但是它需要将现有的声音对象引用传递给它:

FMOD_RESULT createSound (const char *name_or_data, FMOD_MODE mode, FMOD_CREATESOUNDEXINFO *exinfo, Sound **sound);

感谢πάνταῥεῖ的答案。您只需要创建一个类型Sound的零指针,然后以此为 createSound(...)

Sound* newSound = nullptr;
createSound (..., &newSound);