下载百度知道APP抢鲜体验
使用百喥知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的答案。
以下是代码的简化版本:
我得到鉯下运行时错误:
正如assert-message所建议的那样,我阅读了所需的.还有关于的小节.似乎我有两个选择:
这两个尝试都不编译(使用GCC 4.8.3和Clang 3.5进行测试),因为编译器無法正确转换初始化程序列表.
>为什么在更改std :: vector的分配器时,初始化器列表不可用
这是因为对齐吗?
>我可以以某种方式对齐初始化列表吗
>为什么专业化版本失败?
>这些缺乏初始化器列表功能
)之后,似乎问题起因于这个头文件中std :: vector的部分模板专门化.一旦您使用Eigen :: aligned_allocator作为分配器,这个部分模板专门化将替换STL向量.而这种专业化似乎缺乏C11的特点.
详细说明除了更换分配器之外,这种专业化是必要的:
在C 11之前,std :: vector的可以通过值附加一个参數来初始化新创建的元素. 通过值传递参数将丢弃任何对齐修饰符,并且不能与固定大小的可矢量化特征对象一起使用(请参阅SIMD).