C++ function prototypes?
<p>Here goes newbie question number 5, but I don't have a teacher.. so.. anyhow here we go:</p>

<p>I'm wondering if is necessary to have function prototypes at the top of the file, instead of putting the <code>main</code> function to the end of the file and create all the function at the top of the file. As far as I can tell, VC++ and G++ both are not complaining. Is there standards that disallows me to do so?</p>

<p>It seems rather annoying to have to change the prototype when you change a function parameters and return types.</p>

<p>Example:</p>

<pre><code>#include &lt;iostream&gt;

void say_hi(){
    std::cout &lt;&lt; "hi" &lt;&lt; std::endl;
}

int main(){
    say_hi();
    return 0;
}
</code></pre>
