こちらのドキュメントをご覧ください http://www.open-std.org/Jtc1/sc22/wg21/docs/papers/2011/n3242.pdf
「静的保存期間 (3.7.1) またはスレッド保存期間 (3.7.2) を持つ変数は、他の初期化が行われる前にゼロで初期化 (8.5) される」</p>
クラス宣言と main() などのすべてが 1 つのファイルにある場合 (必須)、初期化を省略できるはずです。ただし、省略すると、ビルド中に「未定義の参照」エラーが発生します。
#include <iostream>
using namespace std;
class foo
{
public:
static int array[2];
};
int foo::array[2] = {0}; //I should be able to omit this line
int main()
{
cout << "foo::array[0] = " << foo::array[0] << endl;
return 0;
}
PS: C++11 はありません