I have a static function in a class.
whenever I try to use non static data member, I get following compile error.
An object reference is required for the non
A static method cannot directly access any non-static member variables of a class.
After all : a static method can be called without an instance of the class even being in existance. How do you want to access a member variable on a non-existing instance??
(of course, as Mehrdad pointed out: you could pass an instance of your class to a static method and access everything on that instance - but that's not what you're talking about, right?)