我试图用来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
)。
从外观上,您不确定要安装什么编译器。正如评论所提到的,您需要使用支持c ++ 11的编译器才能使用std :: next
您可以在此处获得Microsoft Visual Studio(MSVC)社区版。这是一个使用Microsoft c ++编译器的完全集成的开发编辑器(IDE)。它是一个独立的产品,使您能够完成自己期望做的事情。
现在,如果您更喜欢vscode或将其用于其他语言(也适用于Web语言!),则可以将vscode配置为也可以与Visual Studio一起使用。有一个伟大的指令集在这里。
话虽如此,您还可以将Visual Studio与任何其他IDE一起使用,并且其中大多数使使用MSVC的编译器变得容易。
这就是我亲自在Windows上开发的方式,是CMake,Windows的Git(或者如果您想要像我一样使用tmux,msys2(如果需要,还可以使用其他编译器))和Vim的组合
这一切都始于安装现代编译器。MSVC社区版可为您提供所需的一切。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句