What language is that? It looks a lot like C, but not enough like C to be correct.
Some specifics:
Code:
case FLOAT: switch (compareOp){
case LESS: if (*((float*)(int offset) < (*((float *)char *valPtr))) return TRUE;
else FALSE#: break;
case STRING: switch (compareOp){
case LESS: if (((char*)(int offset)) < (valPtr)) return TRUE;
else FALSE#: break;
What did you intend by the things I marked in red? Looks like you intended some kind of cast. But that is not the syntax for a cast.
Then the part I marked in purple, I don't even have a guess what it was supposed to mean.
Once you get the syntax correct, you also should know that comparing char pointers does not compare the strings. It compares the POINTERS.
C uses a char* like a string, but C doesn't really have a string type. You need various helper functions to do basic string operations, such as strcmp for comparing them.
You also seem to be assuming an int is the same size as a pointer. That is a bad idea. It will work in 32-bit x86, but will fail in many architectures including x86_64. You should learn correct use of void*