“ next”不是“ std”的成员

Nukesub

我试图用来std::next()获取中的下一个元素std::vector这是代码:

#include <iostream>
#include <vector>
#include <iterator>

int main(){
    std::vector<double> Vec1(3,0.0);
    Vec1.at(0) = 55.0; Vec1.at(1) = -3.25; Vec1.at(2) = 528.22;

    for ( std::vector<double>::iterator i = Vec1.begin(); i != Vec1.end(); ++i){
        std::vector<double>::iterator nx = std::next(i,2);
        std::cout << "The current index is " << i-Vec1.begin() << " and the current element at this index is " << *i << " and the next element is " << *nx << std::endl;
    }
}

当我这样做时,我的编译器抱怨以下错误:

错误:“下一个”不是“标准”的成员

有谁知道为什么会发生此错误?在这里看过,他们使用相同的语法(std::next)。

g19狂热者

从外观上,您不确定要安装什么编译器。正如评论所提到的,您需要使用支持c ++ 11的编译器才能使用std :: next

您可以在此处获得Microsoft Visual Studio(MSVC)社区版这是一个使用Microsoft c ++编译器的完全集成的开发编辑器(IDE)。它是一个独立的产品,使您能够完成自己期望做的事情。

现在,如果您更喜欢vscode或将其用于其他语言(也适用于Web语言!),则可以将vscode配置为也可以与Visual Studio一起使用。有一个伟大的指令集在这里

话虽如此,您还可以将Visual Studio与任何其他IDE一起使用,并且其中大多数使使用MSVC的编译器变得容易。

这就是我亲自在Windows上开发的方式,是CMakeWindows的Git(或者如果您想要像我一样使用tmux,msys2(如果需要,还可以使用其他编译器))和Vim的组合

这一切都始于安装现代编译器。MSVC社区版可为您提供所需的一切。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章