基本的に、非スタティックメンバtheta
は別のクラスメンバによって初期化されますが、初期化されます。その後、theta
によって初期化されたvalley_max
がわかります。今はすべて正常に動作します。次に、バインドがvalley_max
の配列を初期化したいとします。あなたが見ることができるように C++初期化クラスメンバー変数は他のメンバ変数に依存します
static const int valley_max
を追加する非静的データメンバの
無効な使用:まず、私はエラーを得ました。バインドされた配列は
私はその別によって初期化メンバ変数によって初期化バインドされた配列を初期化することができれば私は疑問に思っトークンの前に整数定数「]」ではありません
:しかし、私はエラーのようですメンバー変数。
ご協力いただきありがとうございます。AP_Tmxk_VFH.cpp
AP_Tmxk_VFH::AP_Tmxk_VFH() : l(5), threshold(5), safe_space(0.7), detected_range(2.5), theta(degrees(acos(1-sq(safe_space)/(2*sq(detected_range))))), valley_max(round_float(180.0/theta)), valley_count(0), { }
AP_Tmxk_VFH.h
class AP_Tmxk_VFH { privte: int l; int threshold; int safe_space; int theta; int detected_range; static const int valley_max ; struct{ bool inside_valley = false; uint16_t up_bound = 0; uint16_t down_bound = 0; }valley[valley_max]; }