기본적으로 다른 클래스 멤버에 의해 초기화되지만 잘 초기화 된 비 정적 멤버 theta
입니다. 그런 다음 valley_max
을 theta
으로 초기화합니다. 지금은 모든 것이 잘 작동합니다. 그런 다음 바운드가 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]; }