9

当我用 GCC 4.7 编译我的程序时,我得到以下注释:

/usr/include/c++/4.7/backward/binders.h:167:5: note: the ABI of passing structure with complex float member has changed in GCC 4.4 here

有没有办法摆脱它?我试图用谷歌搜索它,但我发现的只是打印注释字符串的 GCC 源代码行。

4

2 回答 2

9

将选项传递-Wno-psabi给 GCC。

于 2012-12-17T14:13:20.877 回答
2

我收到了同样的信息:

/usr/include/c++/4.8.3/bits/stl_pair.h:276:5: note: the ABI of passing structure with complex float member has changed in GCC 4.4

对于以下代码行:

indices.push_back(make_pair(centreIndex,centre));

其中 centerIndex 是一个整数,而 center 是一个复数浮点数。

为了摆脱错误消息,我将代码更改为:

indices.push_back(pair<int,complex<float> >(centreIndex,centre));

我认为这是一种更好的方法,因为 make_pair 只是这种更直接的创建对的方法的包装器。

于 2014-11-18T20:48:38.493 回答