gpt4 book ai didi

c++ - alignas(T) 未在模板函数中解析

转载 作者:太空狗 更新时间:2023-10-29 21:44:54 26 4
gpt4 key购买 nike

使用Eclipse配合MinGW(version:4.8.1)编译如下代码片段,可以通过,但Eclipse仍然报错:“此行有多个标记 - 无法解析类型‘alignas’”

template<typename X> void set_aside(std::vector<X> vx) {
constexpr int max_buf = 1024;
alignas(X) X buffer[max_buf];

int max = min(vx.size(), max_buf / sizeof(X));
std::uninitialized_copy(vx.begin(), vx.begin() + max, buffer);
}

这个问题发生了什么,虽然代码碎片通过了编译,但 Eclipse 标记为错误。有人遇到过这个问题吗?请帮我解决这个问题,非常感谢!

最佳答案

许多 IDE 使用不同于后端编译器的前端语法检查器。 Eclipse Kepler(2013 年 6 月发布)大部分是最新的 C++11 语法,尽管对齐支持以及与类内初始化程序和默认构造函数的交互等一些东西可能还没有得到完全支持(目前)。类似地,如果使用 std=C++1y 调用后端编译器,则 decltype(auto) 等 C++14 功能将起作用,但不会被前端语法检查器。

注意:这不是 Eclipse 独有的,Visual C++ Intellisense 有时会在实际编译器后面运行(尤其是在 CTP 版本中),从而导致出现红色波浪线。

关于c++ - alignas(T) 未在模板函数中解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18956510/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com