>>350,352
まずC++だからtypedef struct {} foo; などと書かずに素直に struct foo {}
と書けばよろしい(Cだとしても構造体のタグ名は定義しておいたほうが
いいことが多いが)。

で、この場合は、素直にfooにコンストラクタを定義すればいいんじゃないの。
そうすれば、
foo Arrayfoo[] = { foo("abc", 1), foo("efg", 2), ... };
と書ける。