对Cocos2d-x大小类型的引用不明确
Reference ambiguous to Cocos2d-x Size type
我想在c++项目中实现一些目标c调用,即尝试做与"这个问题"相同的事情(将一些特定文件编译为目标c++)
但后来我遇到了这行代码的"参考模糊"错误:
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)
问题是Size
类型存在于Cocos2d-x和编译器看到的头文件中的其他位置。
幸运的是,所有的Cocos2d-x都是在自己的命名空间中定义的,因此您需要在有问题的文件中执行以下操作:
- 从实现文件的顶部删除
USING_NS_CC
-
将
cocos2d::
命名空间添加到实现文件中的任何Cocos2d-x类型和类引用中,例如:cocos2d::Size visibleSize = cocos2d::Director::getInstance()->getVisibleSize();
这告诉编译器您所指的是哪种Size
类型
此外,据我所知,Cocos2d-x支持C++11,但不支持C++14,所以在构建设置中进行更改。
相关文章:
- Visual C++(VS2017)中用户定义的转换不明确
- 对"列表"的引用不明确,包括头文件
- 为什么调用具有通用或 r 值引用的重载覆盖函数是不明确的?
- 是否有一种方法可以将C 类成员引用到向量而不明确添加它们
- 由于引用,重载的调用是不明确的
- 关于解引用运算符是否在表达式中产生对象对值的定义不明确
- 当使用g++4.5.2进行编译时,对类的引用是不明确的
- 使用memset函数时,对数组的引用是不明确的错误
- 指定不明确的引用
- 构造函数基本(对距离的引用不明确)
- 错误:在armadillo和oracle occi兼容性问题中,对"剑"的引用不明确
- 引用不明确
- Visual C++编译器为不明确的符号提供了错误的行引用
- 带有重载r值引用函数的调用不明确
- 对Cocos2d-x大小类型的引用不明确
- Cocos2dx导入QuartzCore框架时出现(对Point、Rect、Size的引用不明确)错误
- 通过不明确的转换运算符进行引用绑定
- 到引用的转换不明确
- 升压误差:对'detail'的引用不明确
- 不明确的引用和命名空间(来自两个外部库的定义冲突)