我正在尝试清理编译 Blitz++ 时收到的警告:
/opt/local/include/blitz/tinyvec2.h:261:35: warning: type qualifiers ignored on function return type [-Wignored-qualifiers]
/opt/local/include/blitz/tinyvec2.h:264:43: warning: type qualifiers ignored on function return type [-Wignored-qualifiers]
/opt/local/include/blitz/tinyvec2.h:267:40: warning: type qualifiers ignored on function return type [-Wignored-qualifiers]
<<etc.>>
从这些类型的成员函数(TinyVector
类的)
T_numtype * restrict data() // line 261
{ return data_; } // data is a member that is an array of data values
const T_numtype * restrict data() const // line 264
{ return data_; }
restrict
据我所知,由于关键字,我收到了警告。注意:有些宏应该替换为restrict
(__restrict__
g++ 可以理解)。
我可以通过删除关键字来摆脱警告;但是,由于这应该是一个高性能数值库,我不想丢失restrict
关键字允许的任何编译器优化。
我能做些什么来抑制这些警告,而不仅仅是restrict
完全删除 ' 并-Wall
继续?