Which language are you using after all? engine_getvar makes only sense in C++ but I don't think your code would work in C++. You need varptr to be a var* and not void*.

var* varptr = ...

varptr[1] = _VAR(1);
varptr[2] = _VAR(2);