$include_dir="/home/hyper-archives/boost-users/include"; include("$include_dir/msg-header.inc") ?>
From: Daniel Krügler (dsp_at_[hidden])
Date: 2006-11-27 02:42:18
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