I REALLY hate using prototypes. Is it possible to never use them? C# does not use them at all, I don't think they are at all necessary in C++ either.

I have a Form class which is a window. I cannot process the window messages from the class. I have to use a global WndProc function and then pass the variables into a new class.

Here is the problem, the form class needs to know about the global WndProc function and the WndProc function needs to know about the class.

So I had to put a prototype of the WndProc function above the class. I want that nonsense to stop. I did not have to do that in Borland. Is this a compiler issue?