template <int N> class myarray { typedef int Bitmap; public: static Bitmap data[N]; }; template <int N> myarray<N>::Bitmap myarray<N>::data[N];
ошибка: ожидаемый конструктор, деструктор или преобразование типов до 'myarray'
Вам нужно typename перед myarray<N>::Bitmap, потому что это зависимый тип:
typename
myarray<N>::Bitmap
template <int N> class myarray { typedef int Bitmap; public: static Bitmap data[N]; }; template <int N> typename myarray<N>::Bitmap myarray<N>::data[N]; // ^^^^^^^^