Con trỏ void (void*) không gắn liền kiểu dữ liệu. Không an toàn khi delete void* vì delete cần gọi destructor của đối tượng, nhưng không biết kiểu để hủy đúng.
Ví dụ con trỏ void
#include <stdlib.h>
int main() {
int a = 7;
float b = 7.6;
void *p;
p = &a;
printf("Int: %d\n", *(int*)p);
p = &b;
printf("Float: %f", *(float*)p);
return 0;
}
Kết quả
Int: 7 Float: 7.600000
Lưu ý: Luôn ép kiểu về kiểu gốc trước khi delete, hoặc dùng con trỏ kiểu đúng.