나는 내 프로젝트에 다음 코드를했다 :AStyle 중첩 된 클래스 형식
class RangeConverter {
private:
struct Converter {
ngeConverter {
private:
struct Converter {
double MinimumInput;
double MaximumInput;
double MinimumOutput;
double MaximumOutput;
template <typename RangeType>
RangeType Convert (RangeType invalue) const {
double v = static_cast<double> (invalue);
if (v < MinimumInput) {
v = MinimumInput;
} else if (v > MaximumInput) {
v = MaximumInput;
}
double interpolationfactor = (v - MinimumInput)/(MaximumInput - MinimumInput);
return static_cast<RangeType> ((interpolationfactor * (MaximumOutput - MinimumOutput)) + MinimumOutput);
}
};
.....
astyle 명령 :
astyle
\ --style=java
\ --indent=force-tab=2
\ --indent-classes
\ --indent-switches
\ --indent-labels
\ --indent-preprocessor
\ --indent-col1-comments
\ --pad-oper
\ --pad-paren
\ --delete-empty-lines
\ --add-brackets
\ --align-pointer=type
\ --align-reference=type
나는 다음과 같은 AStyle과 그 코드를 포맷 한 후
class RangeConverter {
private:
struct Converter {
double MinimumInput;
double MaximumInput;
double MinimumOutput;
double MaximumOutput;
template <typename RangeType>
RangeType Convert (RangeType invalue) const {
double v = static_cast<double> (invalue);
if (v < MinimumInput) {
v = MinimumInput;
} else if (v > MaximumInput) {
v = MaximumInput;
}
double interpolationfactor = (v - MinimumInput)/(MaximumInput - MinimumInput);
return static_cast<RangeType> ((interpolationfactor * (MaximumOutput - MinimumOutput)) + MinimumOutput);
}
};
.....
를 얻을 수
그게 astyle의 버그입니까, 아니면 어떤 옵션을 잊어 버렸습니까? 버그 일 경우 VIM을 사용하여 C++ 코드의 형식을 지정 하시겠습니까?