我定义了
enum_<mytype>("mytype")
.value("one",1)
.value("two",2)
;
在我的BOOST_PYTHON_MODULE。
当我使用带有mytype类型的参数(基本上是int)的函数公开一个类时,如:
void myfunc(mytype m) {
...
}
我收到以下编译器警告:
取消引用指针'p.2311'(或其他)确实打破了严格别名规则
现在,它只是一个警告,代码与启用优化完美配合..
我可以放心地忽略这个警告吗?我错过了什么吗?谢谢
答案 0 :(得分:1)
如果没有看到警告就很难确切地说,但很可能是由some macros from Python headers造成的。为了安全起见,使用-fno-strict-aliasing
编译使用Python(和Boost.Python)的代码。