$ cat test.c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void my_free(void*& p)
{
free(p);
p = NULL;
}
int main()
{
void *p1 = malloc(10);
my_free(p1);
char *p2 = (char*)malloc(10);
my_free(p2);
return 0;
}
На my_free(p2); g++ ругается invalid initialization of reference of type ‘void*&’ from expression of type ‘char*’ те приведения к void* для ссылок нету... это не победить?