I am trying to write a class and it's functions return types are defaulting to it's own class. I am declaring it in the class and trying to define it later. When I compile it, I get the error "no declaration matches 'void VectorThree::rotateZaxis(float)'". It then goes on to say "candidate is: 'VectorThree VectorThree::rotateZaxis(float)'" when it should work because I declared it's return type as void. I'm compiling with G++. Any ideas as to what is going on?