ARM gcc一个有趣的 BUG?
gcc具体的版本没看,反正大概好几年前用这个版本了,也支持C++11。
一个普通的可变参数模板。大概这个样子
template<typename...Args>
int test(const char* name,int type, Args...args)
{
......
int count = sizeof...(args);
if (count > 0)
{
int v[] = {0, (test_arg_func(args),0)... }; //列表初始化
(void)v[0]; //消除告警
}
.....
}
test_arg_func有各种类型重载,包括char *
问题:
大概这样,char * ptrval; .....经常一些代码,后面ptrval=0;
然后test("aa",1,val).
也就是我传入一个字符串指针,但是指针为0时,gcc的确计算出了count是1,但是test_arg_func没有调用。
我用win上mingw的gcc没有这个问题。
--
FROM 39.144.44.*