Hello, I am wondering what is the key difference between these two terms listed in the title.
Function prototypes are often used for forward declaration.
void foo(); //Function prototype. Used for forward declaration
However forward declaration is more encompasing:
class bar; //Forward declaration of class bar. Not a fuction prototype