运算符重载
boolean_t operator==(thread_t& thd_a, thread_t& thd_b)
{
return (&thd_a == &thd_b);
}
error: expected '=', ',', ';', 'asm' or '__attribute__' before '==' token函数模板
error: expected '=', ',', ';', 'asm' or '__attribute__' before '<' token
template<class TYPE>
static inline void list_free(list_t* plst);代码明明没问题啊,这是怎么了?
boolean_t operator==(thread_t& thd_a, thread_t& thd_b)
{
return (&thd_a == &thd_b);
}
error: expected '=', ',', ';', 'asm' or '__attribute__' before '==' token函数模板
error: expected '=', ',', ';', 'asm' or '__attribute__' before '<' token
template<class TYPE>
static inline void list_free(list_t* plst);代码明明没问题啊,这是怎么了?
解决方案 »
- 大家好,小弟是个初学者有问题想问下各位大神们,望解答!
- 关于正则表达一问
- 怎么判断sd卡中的歌曲文件更新了?或者mediastore更新了?
- listview控件每一项中ImageView如何显示sd图片文件
- android library
- android翻译问题
- couldn't load memtrack module (No such file or directory)
- XUtils中BitmapUtils实现网络下载不显示图片
- 自定义Button,如何使drawableleft与文字居中显示?
- 请教关于玩客云APP的sign算法问题.
- srec.doxygen 这个文件是什么作用?
- 如何在android中开启两个线程,分别同时绘制两个图形
当时也编过什么传地址的函数(正儿八经的C语言,不会是语法错误,但是编译器总是报错)。你试下把型参用(thread_t* thd_a, thread_t* thd_b)试一试
这个错误不知道是不是和arm编译器与关系
要不就是编译器的问题;要不就是库与标准的C/C++不太一样。
——换个重载符号 或者 不做事直接return 0 或者 不带参数。 看到底是那个地方编不过。
弱弱问下,看你写的这样,是在内核里、还是抽象层?本来想试一试,但我还不知道这段代码的上下文,该加到哪里去编呢?
在Android下 定义模板函数、运算符重载 和 形参默认值
与在c/c++中定义的区别在哪里?为什么?
extern "C" {
#include <utils/CallStack.h>
}
#endif类似这样就好了参考:
问题
编译NDK程序,提示错误“expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘<’ token“解决
目前的经历来看,是编译C程序中有C++特性时会出现该错误。
原因清楚,解决就很简单,要么去掉C++特性,要么把扩展名改为CPP还有一种情况要注意,就是obj目录下的以前编译的中间结果要删除干净,否则会造成误判,比如
1、做了一个A.c,编译通过
2、对A.c复制粘贴改名做出一个A.cpp
3、在A.cpp的头文件里加了一个类,再去编译,就会出现这个expected的错误。
原因不是很清楚,猜测是因为obj没清理,实际上build系统还是去编译A.c,因为A.c和A.cpp实际上用的是一个头文件(这个头文件里已经定义了一个类),此时build系统会发现这个C程序里有C++特性,就会报这个错误。