
chun ping wang wrote:
Hmm now i run into another problem.. probably more so to do with c++ language. template <class T> class AES { private: static const boost::array<T, 30> Rcon = { 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91 };
};
// 19 C:\CPW\cs classes\cs512\c++\AES.hpp a brace-enclosed initializer is not allowed here before '{' token
The compiler is right. Try something like this: template <class T> class AES { private: static const boost::array<T, 30> Rcon; }; template <typename T> const boost::array<T, 30> AES<T>::Rcon = { 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91 }; Greetings from Bremen, Daniel Krügler