저는 C++ 프로그래밍과 프로그래밍 그 자체가 비교적 새로운데 C++ 코드의 Visual Studio 컴파일러에서 예상되는 동작에 익숙해 지려고했습니다. (비주얼 스튜디오 2015) 로컬 변수 객체에 대한 Visual Studio C++ 컴파일러 이상한 동작
class aClass {
public:
int a;
int b;
}
그런 기능 블록 내부 I이 클래스의 객체를 선언 할 때
aClass obj;
cout << obj.a;
다음 I 그대로 한번에 변수 값 랜덤 RAM 콘텐츠를 얻을 다른 때는 컴파일 오류가 발생하지만 로컬 변수는 초기화되지 않습니다. (컴파일러 번 오류를 극복 할 때마다 그것이 오류를 극복 처음 전에 여러 번 계속 반복 할 수 있지만, 특히, 그것은, 다시 반복하지!)
선언 객체의 모범 사례에 대한 조언,
을일관된 결과를 얻으려면 양식 aClass obj = aClass();
을 사용해야합니다.
또는 관련성이있는 의견. 미리 감사드립니다.
클래스에 멤버 변수를 초기화하는 생성자가 누락되었습니다. –
런타임에 수명이있는 변수는 기본적으로 초기화되지 않습니다. – George
_while 다른 번에 컴파일 오류가 발생합니다. 로컬 변수가 초기화되지 않았습니다. 올바르게 기억하면 오류가 아니라 경고입니다. –