struct Form{ // ... ~Form() { // access World here } static btDynamicsWorld *World;};
有没有办法从另一个函数中初始化这个静态成员?
voID ModulePhysics::Init(){ // ... btDynamicsWorld *Form::World = /* ... */;}
我当前的代码导致这两个编译器错误.
解决方法 不,你不能.但是您可以将其初始化为NulL,并且在函数中,如果它为NulL,则执行实际初始化.Error 1 error C2655: ‘Form::World’ : deFinition or redeclaration illegal in current scope
Error 2 error C2086: ‘btDynamicsWorld *Form::World’ : redeFinition
编辑:提供一个示例:
voID ModulePhysics::Init(){ // ... if(Form::World == NulL) { // The real initialization }}
某处,在文件范围内(在C文件中,而不是在标题中!):
btDynamicsWorld* Form::World = NulL;总结
以上是内存溢出为你收集整理的c – 我可以从另一个函数中初始化静态成员吗?全部内容,希望文章能够帮你解决c – 我可以从另一个函数中初始化静态成员吗?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)