1
GCC ARM 5.40 컴파일 할 때 나는 다음 클래스코드 생성 wreorder 경고
#include <string>
class A {
protected:
std::string m1;
int port;
public:
std::string m2;
A(std::string,std::string,int);
};
A::A(std::string _m1,std::string _m2,int _port) : m1(_m1),m2(_m2),port(_port){
}
int main(int argc, char *argv[]){
A("x","y",argc);
}
을 가지고 -Wreorder
는
a.cpp: In constructor ‘A::A(std::__cxx11::string, std::__cxx11::string, int)’:
a.cpp:9:16: warning: ‘A::m2’ will be initialized after [-Wreorder]
std::string m2;
^
a.cpp:6:8: warning: ‘int A::port’ [-Wreorder]
int port;
^
a.cpp:15:1: warning: when initialized here [-Wreorder]
A::A(std::string _m1,std::string _m2,int _port) : m1(_m1),m2(_m2),port(_port){
^
이 왜 경고를 생성합니까 출력?
m2
및port
의 기본값 또는 값은main
에 지정됩니까?왜
m1
이 발생하지 않습니까?회원 변수를 초기화하는 올바른 방법입니까?
네가 맞아. 고마워. – panitaxx