error C2338: You've instantiated std::aligned_storage<Len, Align> with an extended alignment (in other words, Align >

报的完整错误为:

error C2338: You‘ve instantiated std::aligned_storage<Len, Align> with an extended alignment (in other words, Align > alignof(max_align_t)).
Before VS 2017 15.8, the member type would non-conformingly have an alignment of only alignof(max_align_t).
VS 2017 15.8 was fixed to handle this correctly, but the fix inherently changes layout and breaks binary compatibility (*only* for uses of
aligned_storage with extended alignments). Please define either (1) _ENABLE_EXTENDED_ALIGNED_STORAGE to acknowledge that you understand this
message and that you actually want a type with an extended alignment, or (2) _DISABLE_EXTENDED_ALIGNED_STORAGE to silence this message and
get the old non-conformant behavior.

  

  

大概意思就是:VS2017 15.8版本修复了老版本有关对齐存储部分缺陷,但修复本身也有缺陷。如果不想编译时报这个问题,就在预编译时定义一个宏 _ENABLE_EXTENDED_ALIGNED_STORAGE 或者 _DISABLE_EXTENDED_ALIGNED_STORAGE(博主的理解是按照修复后的逻辑处理就定义带enable那个,按照老版本的逻辑处理就定义带disable那个)

参考解决方法:

打开 项目属性页 -- > C/C++  --> Preprocessor --> Preprocessor Definitions

里面添加,_DISABLE_EXTENDED_ALIGNED_STORAGE

即可。

参考文章

error C2338: You‘ve instantiated std::aligned_storage《Len, Align》 with an extended alignment.(讨论)

error C2338: You've instantiated std::aligned_storage<Len, Align> with an extended alignment (in other words, Align >

原文地址:https://www.cnblogs.com/arxive/p/11216354.html

时间: 2024-11-01 22:26:45

error C2338: You've instantiated std::aligned_storage<Len, Align> with an extended alignment (in other words, Align >的相关文章

C++ error C2440: “类型转换” : 无法从“std::vector::iterator”转换为“

原文地址:http://blog.csdn.net/onlyou930/article/details/5602654 圆环套圆环之迭代器 话说这一日是风平浪静,万里乌云,俺的心情好的没得说,收到命令清理A区(写部分代码,其中有在VC6下己完成的代码要移植到VC7下),一路上很轻松,用‘饭得标’的话来说就是‘卡卡’地!在快完成时出现错误. error C2440: “类型转换” : 无法从“std::vector<_Ty>::iterator”转换为“PPkgHead”with[_Ty=BYT

error C2039: “bind2nd”: 不是“std”的成员

场景 错误 1 error C2039: "bind2nd": 不是"std"的成员 错误 2 error C2039: "mem_fun": 不是"std"的成员 错误 6 error C2039: "ptr_fun": 不是"std"的成员 错误 16 error C3861: "bind1st": 找不到标识符 解决 #include <functiona

error: unrecognized command line option &quot;-std=c11&quot; 解决办法

今天在安装php版本 grpc扩展的时候报错如下: cc1: error: unrecognized command line option "-std=c11" cc1: warnings being treated as errors cc1: error: unrecognized command line option "-Wno-parentheses-equality" 开始搜寻解决方案,经查,出现这个 编译错误的原因在g++ gcc 版本不够高. 解决

C++工程编译之“error LNK2001: 无法解析的外部符号”

今天一整天都在折腾“error LNK2001: 无法解析的外部符号”,就在头疼不已的时候,总算是找到问题原因了:各个动态链接库的编译方式必须统一才行,要不然很容易对库函数的引用产生冲突.简单来说就是,如果使用的第三方函数库编译方式采用/MD,那么主工程也应该使用/MD.我使用了libevent,而主工程默认采用/MT,所以需要忽略一大堆的函数库,我还纳闷呢,怎么会这么奇怪!!今天总算是解决了长久以来的困惑了. 下面引用一篇文章的描述:[Z]VC运行库版本不同导致链接.LIB静态库时发生重复定义

error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MDd_DynamicDebug”不匹配值“MTd_StaticDebug”

今日VS2012 C++编译出现一堆错误: 1 1> 正在生成代码... 2 1>Code.obj : error LNK2005: "public: __thiscall std::_Container_base12::_Container_base12(void)" (??[email protected]@@[email protected]) 已经在 msvcprtd.lib(MSVCP110D.dll) 中定义 3 1>Code.obj : error LN

error LNK2005 : already defined in libcmt.lib

1>MSVCRT.lib(MSVCR100.dll) : error LNK2005: "public: virtual char const * __thiscall std::exception::what(void)const " ([email protected]@[email protected]@UBEPBDXZ) already defined in libcmt.lib(stdexcpt.obj) 1>MSVCRT.lib(MSVCR100.dll) :

妙用next数组打表求最小循环节len

#include <cstdio> #include <cstring> #include <iostream> #include <algorithm> using namespace std; int len; int n = 1000; int next[10000]; int f[50000]; char s[50000]; int Pow(int a, int b) { int res=1; while(b) { if(b&1) res=r

【JSP】--Error错误页设置,声明式异常--188 drp

xml配置: <error-page> <exception-type>com.bjpowernode.drp.util.ApplicationException</exception-type> <location>/error.jsp</location> </error-page> jsp配置: <%@ page contentType="text/html;charset=GB18030" %>

关于自动寻径和图、邻接表的学习和启发

以后的游戏中可能会用到人物的自动寻径,在网上看到一个非常不错的博文,特学习了一下,并转了过来为以后留着... 再次感谢 Siliphen的分享,本文转载自 http://blog.csdn.net/stevenkylelee/article/details/38408253 本文乃Siliphen原创,转载请注明出处:http://blog.csdn.net/stevenkylelee 本文的实现使用的环境是:Cocos2d-x 3.2,VS2013 本文,我们最终实现的地图行走效果如下2图: