In C you can only declare a variable at the start of a block. Your line:
Integer *i = (Integer *)v->innerValue;
tries to declare a variable i, but it is not at the start of a block. You can fix this just by opening a block:
case INTEGER:
{
Integer *i = (Integer *)v->innerValue;
return i->value % hash->capacity;
}
...and similar for the other case
s.
caf
2009-10-09 02:00:40