irrklang 引擎未声明为无效
irrklang engine was not declared at void
编辑 2:
解决了!使用下面的代码,它成功了!
irrklang::ISoundEngine* engine = irrklang::createIrrKlangDevice();
只需将上面的代码放在代码的顶部即可。 (也许下一行包含或命名空间)
我正在使用 irrKlang 播放音频,但我遇到了问题:
#include <irrKlang.h>
void playSound() {
engine->play2D("src/Click.wav");
}
int main() {
irrklang::ISoundEngine* engine = irrklang::createIrrKlangDevice();
playSound();
engine->drop();
return 0;
}
当我 运行 这段代码时,它显示 'engine' (无效的)没有在此范围内声明。
我在 int main 测试了这个,但它有效。问题是它只在 main 上有效,在 void 上无效。
我可以用什么来修复这个错误?或者这是一个错误?
提前致谢。
这是意料之中的。 irrklang::ISoundEngine* engine
在 main
函数中定义,但在 playSound()
中没有定义。
一个简单的解决方案是将引擎作为参数传递
void playSound(irrklang::ISoundEngine* engine) {
engine->play2D("src/Click.wav");
}
在 main
中这样称呼它
playSound(engine);
编辑 2: 解决了!使用下面的代码,它成功了!
irrklang::ISoundEngine* engine = irrklang::createIrrKlangDevice();
只需将上面的代码放在代码的顶部即可。 (也许下一行包含或命名空间)
我正在使用 irrKlang 播放音频,但我遇到了问题:
#include <irrKlang.h>
void playSound() {
engine->play2D("src/Click.wav");
}
int main() {
irrklang::ISoundEngine* engine = irrklang::createIrrKlangDevice();
playSound();
engine->drop();
return 0;
}
当我 运行 这段代码时,它显示 'engine' (无效的)没有在此范围内声明。
我在 int main 测试了这个,但它有效。问题是它只在 main 上有效,在 void 上无效。
我可以用什么来修复这个错误?或者这是一个错误?
提前致谢。
这是意料之中的。 irrklang::ISoundEngine* engine
在 main
函数中定义,但在 playSound()
中没有定义。
一个简单的解决方案是将引擎作为参数传递
void playSound(irrklang::ISoundEngine* engine) {
engine->play2D("src/Click.wav");
}
在 main
中这样称呼它
playSound(engine);