当我用 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 源代码行。
将选项传递-Wno-psabi
给 GCC。
我收到了同样的信息:
/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 只是这种更直接的创建对的方法的包装器。