최신 인텔 C++ 컴파일러는 14.0.1.139 또는 인텔 병렬 스튜디오 xe 2013 sp1 업데이트 1입니다. 암시 적 이동 생성자 및 이동 할당을 지원하는지 궁금합니다. 다음 코드를 테스트했는데 작동하지 않는 것 같습니다.최신 Intel C++ 컴파일러는 암시 적 이동 생성자와 이동 할당을 지원합니까?
관련 기사는 here (검색 이동 생성자)입니다. 그것은 그것이지지한다고 말했다. 그러나 나는 그것을 만들 수 없습니다.
#include <memory>
#include <iostream>
#include <algorithm>
using namespace std;
class A
{
public:
unique_ptr<int> m;
};
int main()
{
A a;
A b(std::move(a));
}
은 기본적으로 주요 기능
A b(std::move(a));
의 두번째 라인은 이동 생성자
A::A(const A &&)
이외의 복사 생성자
A::A(const A &)
을 찾고
icl main.cpp /Qstd=c++11
오류
main.cpp
main.cpp(10): error #373: "std::unique_ptr<_Ty, _Dx>::unique_ptr(const
std::unique_ptr<_Ty, _Dx>::_Myt &) [with _Ty=int, _Dx=std::default_delete<int>]"
(declared at line 1447 of "C:\Program Files (x86)\Microsoft Visual Studio
11.0\VC\include\memory") is inaccessible unique_ptr<int> m;
^
detected during implicit generation of "A::A(const A &)" at line 16
compilation aborted for main.cpp (code 2)
으로 창에 컴파일. 이것은 암시 적 이동 생성자가 생성되지 않는 경우 일반적입니다. 그러나 컴파일러는 암시 적 이동 생성자를 지원한다고 말했습니다. 나는 혼란 스럽다. 감사.
당신은 여기에서 볼 수 http://software.intel.com/en-us/articles/c0x-features-supported-by-intel-c-compiler – ForEveR
관련 문서는 http://software.intel.com/en-us/articles/intel-composer-xe-2013-compilers-sp1-fixes-list입니다. 그것은 그것이 지원한다고 말했다. 그러나 나는 그것을 만들 수 없습니다. – user1899020
"작동하지 않는 것"은 무엇을 의미합니까? – juanchopanza