У меня есть куча кода C. Я не намерен преобразовывать их в код C++.Вызов статических функций-членов C++ из кода C
Теперь я хотел бы назвать некоторый код на C++ (я не против изменять код C++, чтобы они вызывались кодом C).
class Utils {
public:
static void fun();
}
class Utils2 {
public:
static std::wstring fun();
}
Если я склонен называть их со следующим синтаксисом, они не будут скомпилированы (я использую VC++ 2008, с кодом C файлы с расширением .c)
Utils::fun();
// Opps. How I can access std::wstring in C?
Utils2::fun();
Любое предложение?
Вы явно не сможете вызвать функцию, возвращающую std :: string (или используя std :: string в качестве параметра) из C. –
@tomekszpakowicz: Не сразу, конечно. Но это, безусловно, выполнимо. См. [Мой ответ] (http://stackoverflow.com/questions/3193020/calling-c-static-member-functions-from-c-code/3193099#3193099). – sbi
Еще сложнее: методы членов. –