ZThread::ThreadLocal:ERROR C4716 must return a value的解决

首先看如下代码:

1 #include <zthread/ThreadLocal.h>
2
3 int main()
4 {
5     ZThread::ThreadLocal<unsigned int> value;
6     value.set(0);
7     value.set(value.get() + 1);
8     return 0;
9 }

在Windows下编译的话你会发现如下错误(编译器CL.exe)

e:...\include\zthread\threadlocal.h(304) : error C4716: "ZThread::ThreadLocal,ZThread::ThreadLocalImpl::UniqueChildValueFn,ZThread::ThreadLocalImpl::InheritableValueFn>::Value::operator=": must return a value.

解决方案:点此链接

  我上stackoverflow问了一下找到了原因

  其实就是因为ZThread确实是上了年纪的库了,一些旧的编译器能接受的语法,在新的编译器下就是ERROR

  把zthread/ThreadLocal.h大概第304行的代码const Value& operator=(const T& v) { value = v; }

  修改为const Value& operator=(const T& v) { value = v; return *this; }

  好了 大功告成

时间: 2024-10-20 15:27:24

ZThread::ThreadLocal:ERROR C4716 must return a value的解决的相关文章

Cocos2d-x 3.2编译生成Android程序出错Error running command, return code: 2的解决方法

用Cocos2d-x 3.2正式版创建项目,结果使用cocos compile -p android编译生成APK程序,结果悲剧了,出现以下错误. Android NDK: Invalid APP_STL value: c++_static Android NDK: Please use one of the following instead:  system stlport_static stlport_static_hard stlport_shared stlport_shared_ha

java.lang.Error: Unresolved compilation problems: Syntax error on token &quot;return&quot;, delete this token Type mismatch: cannot convert from Init to String

java.lang.Error: Unresolved compilation problems:   Syntax error on token "return", delete this token  Type mismatch: cannot convert from Init to String Dubbo 在调用服务时候报的错误! 那么问题来了.这什么错? ? 英语不好.     Type mismatch: cannot convert from Init to Strin

编译Qt 4.7.3的时候发生NMAKE : fatal error U1077: &#39;cd&#39; : return code &#39;0x2&#39;

怀疑是configure的时候没加-nomake demos -nomake examples的问题 references: http://stackoverflow.com/questions/10356198/error-when-compiling-qt-nmake-fatal-error-u1077 http://www.qtcentre.org/threads/40726-Error-nmaking-4-7-2-with-msvs2010 http://stackoverflow.co

关于BeanCreationNotAllowedException: Error creating bean with name &#39;cxf&#39; 的解决心得

org.springframework.beans.factory.BeanCreationNotAllowedException: Error creating bean with name 'cxf': Singleton bean creation not allowed while the singletons of this factory are in destruction (Do not request a bean from a BeanFactory in a destroy

真机测试报错ERROR/AndroidRuntime: java.lang.RuntimeException: setParameters failed解决办法

这个错误是和调用相机摄像头相关的. 产生这个错误的原因主要在于代码控制分辨率的显示和真机测试分辨率不一样. 一:解决办法 WindowManager wm = (WindowManager) getSystemService(Context.WINDOW_SERVICE); Display display = wm.getDefaultDisplay(); Camera.Parameters parameters = camera.getParameters();// 得到摄像头的参数 para

[ArchLinux]进行更新时出现错误:GPGME error: 无数据,数据库无效的解决办法/

今天在我进行系统更新pacman -Syu时,出现了如下错误: # pacman -Syu 错误:GPGME error: 无数据 错误:GPGME error: 无数据 错误:GPGME error: 无数据 错误:GPGME error: 无数据 错误:GPGME error: 无数据 :: 正在同步软件包数据库... core 已经是最新版本 0.0 B 0.00B/s 00:00 [----------------------] 0% extra 已经是最新版本 0.0 B 0.00B/

YUM安装提示PYCURL ERROR 6 - "Couldn&#39;t错误的解决办法

当编译PHP时出现如下错误时,找不到头绪 这时,打开DNS   vim /etc/resolv.conf   添加一行nameserver 192.168.1.1 完成上一步,则解决该问题 YUM安装提示PYCURL ERROR 6 - "Couldn't错误的解决办法

jsp页面中onsubmit=&quot;return checklogin();&quot;报错解决办法

选择Window->Preferences->MyEclipse->Validation 去掉方框里的对号,然后Apply 然后点击Yes->然后再点击ok->Yes,就好了,如果你打开了那个出现错误jsp页面的话,请关掉重现打开就ok啦 jsp页面中onsubmit="return checklogin();"报错解决办法,布布扣,bubuko.com

Error:Configuration with name &#39;default&#39; not found.解决思路

出现这问题的原因是你依赖的工程没有make project,意思是你导入项目的工程没有正确编译通过. 解决办法很巧妙,你可能是直接在android studio里将别的成功使用的项目里该依赖的工程拷贝到你现在的项目,但是你有没有发现你拷贝不完全,没有把很多文件拷贝进去,你应该从成功使用的项目里文件夹里拷贝到你现在的项目的文件夹里,在同步android studio,你发现拷贝完全了,再次编译就能通过了.这是我下项目中遇到的一中情况,希望对同学们有所帮助,有不对的地方敬请指教哦O(∩_∩)O Er