LINUX.ORG.RU

История изменений

Исправление monk, (текущая версия) :

покажи пожалуйста как в си можно перегрузку функции по типу

Да также:

int _Z3fooi(int x) { return x + 1; }
int *_Z3fooPi(int *x) { return x + 1; }

или если не требуется совместимость с Си++

int foo_int(int x) { return x + 1; }
int *foo_intptr(int *x) { return x + 1; }

и шаблон для произвольного типа?

#define def_foo(type)  type foo_##type(type) { return x + 1; }

typedef int *intptr;

def_foo(intptr);
def_foo(int);

Исходная версия monk, :

покажи пожалуйста как в си можно перегрузку функции по типу

Да также:

int _Z3fooi(int x) { return x + 1; }
int *_Z3fooPi(int *x) { return x + 1; }

или если не требуется совместимость с Си++

int foo_int(int x) { return x + 1; }
int *foo_intptr(int *x) { return x + 1; }

и шаблон для произвольного типа?

#define def_foo(type)  type foo_##type(type) { return x + 1; }

typedef int *intptr;

typedef int *intptr;

def_foo(intptr);
def_foo(int);