参考不明确Cocos2d-x尺寸类型

时间:2016-03-31 06:38:33

标签: c++ objective-c cocos2d-x ambiguous

我想在 c ++项目中实现一些目标c 调用,即我试图做与" this question"相同的事情。 (将一些特定文件编译为目标c ++

然后我进入"参考ambigious"这行代码的错误:

Size visibleSize = Director::getInstance()->getVisibleSize();

说" 参考'尺寸'是一个暧昧的"

我当前的编译器设置:

C Lang Dialect : GNU99[-std=gnu99]
Compiler Sources As : According to File Type

C++ Language Dialect : GNU++14[-std=gnu99]
C++ Standard Library : libc++ (LLVM C++ standard library with c++11 support)

1 个答案:

答案 0 :(得分:0)

问题是Cocos2d-x中存在Size类型,编译器看到的头文件中存在其他位置。

幸运的是,所有Cocos2d-x都在其自己的命名空间中定义,因此您需要在违规文件中执行以下操作:

  1. 从实施文件的顶部删除USING_NS_CC
  2. cocos2d::命名空间添加到实现文件中的任何Cocos2d-x类型和类引用中,例如:

    cocos2d::Size visibleSize = cocos2d::Director::getInstance()->getVisibleSize();
    
  3. 它告诉编译器确切地指出了哪种Size类型。

    据我所知,Cocos2d-x也支持C ++ 11但不支持C ++ 14,所以在构建设置中更改它。