<div>#include <iostream></div> <div>using namespace std;</div> <div><br></div> <div>typedef struct A {</div> <div> int one;</div> <div> int two;</div> <div> A(int a, int b) : one(a), two(b) {}</div> <div> A(pair<int, int> v) { A(v.first, v.second); }</div> <div>}A;</div> <div><br></div> <div>pair<int, int> f() {</div> <div> return pair<int, int>(3, 4);</div> <div>}</div> <div><br></div> <div>int main() {</div> <div> A a(f().first, f().second);</div> <div> cout << a.one << ' ' << a.two << endl;</div> <div> return 0;</div> <div>}</div> <div><br></div> <div>요렇게 하면 3 4 가 출력 됩니다. 의도한 결과죠. 하지만</div> <div><br></div> <div> <div>#include <iostream></div> <div>using namespace std;</div> <div><br></div> <div>typedef struct A {</div> <div> int one;</div> <div> int two;</div> <div> A(int a, int b) : one(a), two(b) {}</div> <div> A(pair<int, int> v) { A(v.first, v.second); }</div> <div>}A;</div> <div><br></div> <div>pair<int, int> f() {</div> <div> return pair<int, int>(3, 4);</div> <div>}</div> <div><br></div> <div>int main() {</div> <div> A a(f());</div> <div> cout << a.one << ' ' << a.two << endl;</div> <div> return 0;</div> <div>}</div></div> <div><br></div> <div>왜 이렇게 하면 이상한게 출력되나요</div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.