그래서 this question에게 물어 보니 static_cast
을 통해 해결할 수있었습니다. (덧붙여이 문제를 해결 않습니다, 난 그냥 내가 왜 이해 있는지 확실하지 않습니다.)static_cast <T>은 T &?
코드에서 :
vector<int> foo = {0, 42, 0, 42, 0, 42};
replace(begin(foo), end(foo), static_cast<int>(foo.front()), 13);
단순히 int
AN-값 R을 구성하는 static_cast
인가?
replace(begin(foo), end(foo), int{foo.front()}, 13);
편집 : 답변 static_cast
에 의해 추론으로
를 구성하는 것 않는 R-값 int
: http://ideone.com/dVPIhD
하지만 그 단지 전화의 차이점은 무엇입니까 코드 않습니다 Visual Studio 2015에서 작동합니다.이 컴파일러 버그가 있습니까? 여기에 테스트 : .front()
가 축소 변환을 필요로하는 유형을 반환하지 않는 http://webcompiler.cloudapp.net/
위해 나는 나를 백업 표준의 인용문이없는,하지만 난 당신이 기호 대신 참조의 값의 사본을 얻을 수'+ foo.front을()'를 사용 할 수 있다고 생각 – KABoissonneault