// GROUPS passed overloading // Check that calls to the correct overloaded virtual // functions are generated even where the type of the formal // arguments for the overloadings are similar or related. extern "C" void printf (char *, ...); int proper_method_called = 0; struct base { int member; virtual void method (char) { } virtual void method (char *) { } }; struct derived : public base { int member; virtual void method (char) { } virtual void method (char *) { proper_method_called++; } }; char *message; int main () { derived derived_object; derived_object.method (message); if (proper_method_called != 1) printf ("FAIL\n"); else printf ("PASS\n"); }