error: object of type 'llvm::SourceMgr::SrcBuffer' cannot be assigned because its copy assignment operator is implicitly deleted

时间:2015-07-31 19:38:05

标签: clang clang++ llvm-clang

I faced this error when I was compiling with clang. It will be appreciate if any body can help.

Working on 32 bit windows 7 platform and using Codelite to compile the error happend in section below:

typename iterator_traits<_BI1>::difference_type __n;
      for (__n = __last - __first; __n > 0; --__n)
        *--__result = std::move(*--__last);
      return __result;
    }

and it is the error message:

c:/MinGW/lib/gcc/mingw32/4.6.1/include/c++\bits/stl_algobase.h:546:18: error: object of type 'llvm::SourceMgr::SrcBuffer' cannot be assigned because its copy assignment operator is implicitly deleted --__result = std::move(--__last);

2 个答案:

答案 0 :(得分:0)

After hours googling i find a way to double cross the code: i must put:

*--__result = *--__last;

instead of

 *--__result = std::move(*--__last);

then it works! stl_algobase.h source from MIT have fun!

答案 1 :(得分:0)

如果您正在编辑新版本的clang,我会惊讶于您的设置完全编译它。它看起来像是使用gcc4.6.1,我认为它不足以支持c ++ 11来编译需要几乎完全符合的LLVM和clang。

如果它有效,那真棒。