我正在使用 OpenCV 进行一些图像处理,它有几个必须指定数据类型才能正确执行的函数。我的想法是对这些函数进行模板化,这样我就不必为每种可能的数据类型编写单独的函数。
然而,我希望我正在编写的代码与我现有的一些将图像存储在内存中的 C 代码兼容,这样我就可以更轻松地传递它,而无需不断地将图像写入光盘。
我遇到的问题是如何制作我的 .h 文件和库,让 C 程序调用 C++ 模板函数。我还没有机会尝试,但到目前为止我所拥有的看起来如下:
foo.h
int foo(int a, int, b);
float foo(float a, float b);
Run Code Online (Sandbox Code Playgroud)
foo.c:
int foo(int a, int b) {
return footemp(a, b);
}
float foo(float a, float b) {
return footemp(a, b);
}
Run Code Online (Sandbox Code Playgroud)
foo.hpp:
template<class t>
t footemp(t a, t b) {
return a + b;
}
Run Code Online (Sandbox Code Playgroud)
这不起作用,因为它需要我的 .c 文件来了解模板化文件。所以我愿意接受建议。预先感谢您的帮助