传递boost python枚举作为参数

时间:2011-09-29 11:38:30

标签: c++ python boost-python

我定义了

enum_<mytype>("mytype")
    .value("one",1)
    .value("two",2)
;

在我的BOOST_PYTHON_MODULE。

当我使用带有mytype类型的参数(基本上是int)的函数公开一个类时,如:

void myfunc(mytype m) {
    ...
}

我收到以下编译器警告:

取消引用指针'p.2311'(或其他)确实打破了严格别名规则

现在,它只是一个警告,代码与启用优化完美配合..

我可以放心地忽略这个警告吗?我错过了什么吗?

谢谢

1 个答案:

答案 0 :(得分:1)

如果没有看到警告就很难确切地说,但很可能是由some macros from Python headers造成的。为了安全起见,使用-fno-strict-aliasing编译使用Python(和Boost.Python)的代码。