https://gall.dcinside.com/mgallery/board/view?id=github&no=85534&fcno=463289&fpno=463287

C 배우고는 싶은데 책들이 문제가 많아보이네난 그냥 개초보이고 C# 배우고있는 사람인데.. 윈폼으로 내가 게임개발할때 쓸 툴을 만들고있음 거의 다 만들어갔는데..버튼같은 컨트롤은 애초에 윈폼에서 간편하게 구현할수있어서 문제없었는데 문제는 그래픽 구현(드래그에gall.dcinside.com





C++17 결과



C++14 결과


애앵???? 왜 동작이 달라지노????


```main.cpp

#include <iostream>

#define STEP(x) std::cout << "----- STEP " << x << " -----" << std::endl


class T2;

class T;

class T{

public:

    T(const int &, const int &);

    T(const int &);

    T(const T2 &);

    T(void);

    T(const T&);

};


class T2{

public:

    T2(void);

    operator T(void);

};


T::T(const int ¶mA, const int ¶mB)

{

    std::cout << "CTOR T::T(const int&, const int &) is called: " << paramA << ", " << paramB << std::endl;

}


T::T(const int ¶m)

{

    std::cout << "CTOR T::T(const int&) is called: " << param << std::endl;

}


T::T(const T2 &)

{

    std::cout << "CTOR T::T(const T2&) is called" << std::endl;

}


T::T(void)

{

    std::cout << "CTOR T::T(void) is called" << std::endl;

}


T::T(const T &arg)

{

    std::cout << "CTOR T::T(const T &) is called" << std::endl;

}


T2::T2(void)

{

    std::cout << "CTOR T2::T2(void) is called" << std::endl;

}


T2::operator T(void)

{

    std::cout << "Operator T2::operator T(void) is called" << std::endl;

    return T(3);

}



int main(void)

{

    T2 t2;


    STEP(0);

    T ta(t2);

   

    return 0;

}
```

C++17
```

EXE: main.o

$(CXX) $< -o $@


main.o: main.cpp

$(CXX) -std=c++17 -c $< -o $@
```


C++14
```

EXE: main.o

$(CXX) $< -o $@


main.o: main.cpp

$(CXX) -std=c++14 -c $< -o $@
```