質問: 関数の部分に、構造体で宣言した物がくる場合について
回答: 目的を達成すれば良いので、intでは駄目というわけではありませんが、戻り値(関数の型)を構造体にする場合のメリットを、とりあえず2つ挙げます。 1つは複数の値を戻せること。でもこれは、出力用引数として構造体のポインタを受け取っても実現できます。 もう1つは戻り値をそのまま別の関数に渡して処理を連鎖できること。 例えばあるPOSITION値に対して「move:平行移動する」「stretch:原点との距離を伸縮する」「rotate:原点を中心に回転する」などの関数があった時、それぞれが変更後のPOSITION値(のポインタ)を返せば、以下のように記述できます。 rotate( stretch( move( &position, 10, 20 ), 2.4 ), 30 ); この例は見栄えも悪くあまり良い例ではありませんが、C++であれば関数もclassに内包できるので以下のように書けます。 position.move(10, 20)->stretch(2.4)->rotate(30); 「a = b = 0;」と書けるのと同じで、プログラマの記述の幅を広げられるのがメリットです。