none
include를 하지 않았는데도 빌드가 됩니다 ㅡ0ㅡ RRS feed

  • 질문

  • #pragma once
    //#include "../stdafx.h"

    //#include "B.h"

    class A : public B
    {
    private :
        C* pC;

    public :
        A();
    };

     

    이게 빌드가 됩니다 ㅡㅡ;;;

    요 화일만 따로 떼어다가 하면 안되는데요..

    실제로 돌아가는 프로젝트에서는 됩니다 ㅡㅜ

     

    이거 모 어떻게해야 하는지 감이 안옵니다.

    C#할때는 VS를 철썩같이 믿고 했는데 C++할때는 멋대로인것 같아서 답이 없네요;;;

     

    실제로 돌아가는 프로젝트이던 따로 떼어낸 프로젝트이던 둘 다 안되야되지 않나요 ?

    그런데 어떤건되고 어떤건 안되는데 이거 모 VS2008을 못 믿겠네요;;;

     

    다들 이런적 없으신가요 ?

     

    원래대로라면 B를 정의하지 않았기때문에 에러가 나야되고요

    stdafx.h를 포함시키지 않아서 에러가 나야 되는데 아무에러없이 잘 됩니다 ㅠㅠ

     

    각 화일마다 #progma once를 다 넣어줬고요.

    그동안 잘 되다가 헤더가 한번 꼬였는데 그 이후로는 작살이네요 ㅠㅠ

    2011년 5월 17일 화요일 오후 1:01

모든 응답

  • 순환참조(상호참조) 버그였네요.

    헤더화일이 많아지니까 저런 버그도 나오는거였네요.

    아직 메인프로젝트 수정하지는 않고 쬐금만 해봤는데 상호참조 버그가 맞는 것 같네요.

    http://ddoong2.com/entry/%EC%83%81%ED%98%B8-%EC%B0%B8%EC%A1%B0

    http://jameroid.tistory.com/411

    http://blog.daum.net/2uropa/8605591

    VS2008이 미친게 아니었다는 ㅡ0ㅡ

    2011년 5월 18일 수요일 오전 8:53