Я использую OpenCV для некоторых манипуляций с изображениями, и у него есть несколько функций, которым должен быть задан тип данных для правильной работы. Моя идея заключается в шаблоне этих функций, поэтому мне не нужно писать отдельную функцию для каждого возможного типа данных, которым она могла бы быть.Доступ к шаблонам C++ из C
Однако код, который я бы хотел, чтобы код, который я пишу, был совместим с каким-либо существующим кодом C, который у меня есть, хранит изображения в памяти, поэтому я могу легко его упростить, не записывая изображение на диск постоянно.
Проблема, с которой я столкнулся, заключается в том, как сделать мои файлы .h и библиотеки, чтобы программа C вызывала функции шаблона C++. У меня не было возможности попробовать еще, но до сих пор, что я хотел бы посмотреть что-то, что следует:
foo.h
int foo(int a, int, b);
float foo(float a, float b);
foo.c:
int foo(int a, int b) {
return footemp(a, b);
}
float foo(float a, float b) {
return footemp(a, b);
}
Foo. hpp:
template<class t>
t footemp(t a, t b) {
return a + b;
}
Не работает, так как он требует, чтобы мой .c-файл знал о шаблоном файле. Итак, я открыт для предложений. Заранее благодарю за помощь
Также нет перегрузки в C. – dyp