これは私が直面している奇妙な問題です - おそらく私のさびたC++スキルを考えると超基本的なものですが、私はまだ困惑しています:
- 私はクラスを持っています
- このクラスには の配列もあり
unsigned long long
ます - それを呼び出しましょうarr
私のクラスインターフェース:
typedef unsigned long long U64;
class DQClass
{
public:
DQClass (void);
virtual ~DQClass (void);
U64 arr[12];
};
さて、実装ですが…
テスト1(これは機能します):
DQClass::DQClass (void)
{
this->arr[0] = 0x8100000000000000ULL;
this->arr[1] = 0x4200000000000000ULL;
// and so on..
}
テスト 2 (これはありません) :
DQClass::DQClass (void)
{
this->arr =
{
0x8100000000000000ULL,
0x4200000000000000ULL,
0x2400000000000000ULL,
0x1000000000000000ULL,
0x0800000000000000ULL,
0x00FF000000000000ULL,
FLIPV(0x8100000000000000ULL),
FLIPV(0x4200000000000000ULL),
FLIPV(0x2400000000000000ULL),
FLIPV(0x1000000000000000ULL),
FLIPV(0x0800000000000000ULL),
FLIPV(0x00FF000000000000ULL)
};
}
エラー :
dqclass.cpp: In constructor ‘DQClass::DQClass()’:
dqclass.cpp:28: error: expected primary-expression before ‘{’ token
dqclass.cpp:28: error: expected `;' before ‘{’ token
なぜこれが機能しないのですか?たとえば、同じように機能するべきではありませんU64 someArr[12] = {0,1,2,3,4,5,6,7,8,9,10,11}
か?
何か案は?