python - 如何处理 SWIG 中的函数模板?

标签 python c++ swig

我在以下代码行中使用 SWIG 时收到“输入语法错误”错误

template<typename T>
void print_vec(std::vector<T> vec, int length = -1);

在我的 .i 文件中,我包含以下行

%template(print_vec_int) print_vec<int>;

我做错了什么?

最佳答案

你正在swigC++代码,但是告诉swig它是C。你需要在swig命令行添加-c++

swig -o x_wrap.cc -c++ -python x.i

如果您使用的是 SCons,则需要更新 SWIGFLAGS 环境变量:

env = Environment(SWIGFLAGS=['-c++', '-python'])

关于python - 如何处理 SWIG 中的函数模板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26028402/

相关文章:

python - 如何通过互联网(不是本地)使用 Python 3 套接字客户端/服务器设置?

python - 鼠标悬停在物体上时的声音效果?

c++ - 将字符串转换为自定义类

c++ - ${workspaceFolder}\\*.cpp 显然未被识别为 vscode tasks.json 中的有效路径

java - Swig 一个 DLL 到 Java

c++ - 使用 swig 到 ocaml 的奇怪重命名行为

python - 半加器和全加器逻辑?

python - AWS - Step 函数,在 TuningStep 中使用执行输入

c++ - 在二维伊辛模型上工作。 C++ 新手。我在第 23 行收到错误 "expected unqualified-id before ' {' token"

c# - 在控制台中打印特殊字符 (C++/C#/SWIG)