theta
基本的に、別のクラスメンバーによって初期化されるが適切に初期化される非静的メンバー。次に、ご覧のvalley_max
とおりによって初期化さtheta
れます。現在、すべてが正常に機能しています。次に、境界が である配列を初期化しますvalley_max
。まず、エラーが発生しました:
非静的データ メンバーの無効な使用
その後、ご覧のとおり追加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];
}