"PNT" cannot be used to provide definitions for member-functions as it's not a type-identifier. In order to define a member function outside of the class, you must qualify the member-function's identifier with the class' name of which it's a member of. For example:
You're also calling the methods in PAINTER incorrectly.
Line 25, PNT::NullPaint(&PASS); should be PNT.NullPaint(&PASS);
The <class>::<method>() type call is for calling static methods on a class, not methods on an object.
Also, while we're on line 25, PASS is defined in main(), so it's not visible to Paint() where you're trying to use it.
AND PASS is defined as a const char*, so you don't need to use &PASS, just PASS will do. If you use &PASS you're ending up with a const char**, not a const char* as NullPaint() expects. So line 25 now becomes (once Paint() can see PASS):
Actually, there's plenty wrong here - line 11 is misformed - you need a ';' on the end.
Also, your definition of NullPaint should be PAINTER::NullPaint(), not PNT::NullPaint() - PNT is an instance/object of the PAINTER class.