В чем разница между статической функцией-членом и внешней связью "C"? Например, при использовании "makecontext" в С++ мне нужно передать указатель на функцию. Google рекомендует использовать внешнюю ссылку "C" для него, потому что "makecontext" - C. Но я обнаружил, что использование статических работ также. Мне просто повезло или...
class X {
public:
static void proxy(int i) {}
}
makecontext(..., (void (*)(void)) X::proxy, ...);
против
extern "C" void proxy(int i) {}
makecontext(..., (void (*)(void)) proxy, ...);
EDIT: можете ли вы показать компилятор или архитектуру, где статическая версия-член не работает (и это не ошибка в компиляторе)?