MSVC2005 에서 warring 뜨지만 컴파일 되는 것을 확인 하고 코드 제시한다. #include struct Point { int x, y; Point( int tpx, int tpy ) : x(tpx), y(tpy) { } }; class Polygon { public: void AddPoint( const Point pt ) { InvalidateArea(); points_.push_back( pt ); } Point GetPoint ( const int i ) { return points_[i]; } int GetNumPoints( void ) { return points_.size(); } double GetArea( void ) { if( area_ < 0 ) // 아직 계산되지 않았거나..
2008/10 검색 결과
다음에 나오는 코드들은 무엇이 다를까요?(T는 어떤 클래스 형식을 의미합니다)? T t; T t(); T t(u); T t = u; 5분안에 답하지 못한다면, 모르는 것이므로... 정리를 시작할까 한다. 해당 코드는 T 클래스의 1. 기본 생성자로 인한 초기화(기본 초기화) 2. 인자가 있는 생성자로 인한 초기화(직접 초기화) 3. 복사 생성자로 인한 초기화(복사 초기화) 의 차이를 말하고 있다. 1. T t; 해당 코드는, 기본 생성자로 인한 초기화를 뜻하며, 그 어떠한 생성자가 없거나, T::T() 가 있다면, T::T() 로 초기화를 하는 코드이다. 2. T t(); 나도 이 코드는 T::T() 의 호출이다. 라고 단정 지었다.(이렇게 사용한적이 없어서..) 하지만 이 코드는 .. T 타입을 반환하..
조건 1. 컴파일은 된다. 2. 실행도 된다. 하지만, 브레이크 포인트가 걸리지 않는다. 이럴 경우 크게 두가지 방법으로 해결 된다. 첫번째, 도구 --> 옵션 --> 디버깅 --> 일반 --> 소스 파일이 원래 버전과 정확하게 일치해야 함 체크를 해제한다. 하지만 이 방법은 정말 소스 파일과 일치 하지 않을 때 문제가 발생 할수 있다. 추천하지 않으며, 두번째 방법을 추천한다. 두번째, 파일 --> 저장 고급 옵션 --> 유니코드(서명있는 UTF-8) - 코드 페이지 65001 로 다시 저장한다. 두번째 방법을 추천한다. 이것 때문에 고생한것을 생각하면...ㅠ_ㅠ 추측, .. 컴파일러가 .. 읽지 못하는 텍스트가 있다면, 자동으로 다른 코드 형식으로 저장하는것으로 생각 된다.,
최근댓글