ただ少し前のVerでは、(C言語でやるように)構造体にtypedefを使ってstructを省略しようとした場合、戻り値や引数で、コンパイルが通らないという、おそらくバグと思われる挙動があり(もともとArduinoはC++のすべての機能を使ええるわけではないとリファレンスなどには書かれている)、先に関数の宣言を書いたりしないとうまくいかない。
ちなみにヘッダファイルを使わなくとも、ワンファイルで解決する方法として単純にtypedefを使わない場合のC言語と同じように書くという方法がある。
struct RGB hoge(struct RGB rgb){という感じだ。単純にtypedefを使わないC言語のときのように、構造体の利用時は構造体名の前にstructをつけるというルールに従いさえすれば、問題ない。