方法“ shrink_to_fit”无法解析

时间:2019-10-30 22:20:57

标签: c++ eclipse vector stl

我遇到STL C ++的 shrink_to_fit()函数的问题。问题是我使用它的原因,使用MinGW编译器在Eclipse Luna(32位)上,编译器给出错误“方法'shrink_to_fit'无法解决”,但同一程序在Dev C ++中可以正常工作。

程序的图像: enter image description here

错误: enter image description here

在使用dot(。)之后,编译器不建议使用rinkle_to_fit(): enter image description here

原始代码:

#include <iostream>
#include <vector>

using namespace std;

int main(void) {
   vector<int> v(128);

   cout << "Initial capacity = " << v.capacity() << endl;

   v.resize(25);
   cout << "Capacity after resize = " << v.capacity() << endl;

   v.shrink_to_fit();
   cout << "Capacity after shrink_to_fit = " << v.capacity() << endl;

   return 0;
}

请让我知道这是我的错还是IDE的错。

P.S。我正在使用C ++ 14。

2 个答案:

答案 0 :(得分:1)

它对我来说很好(带有-std = c ++ 11标志,并且来自https://nuwen.net/mingw.html#install的MinGW发行版)

面向C / C ++开发人员的Eclipse IDE, 版本:2019-09 R(4.13.0) Build ID:20190917-1200 操作系统:Windows 10,v.10.0,x86_64 / win32 Java版本:13.0.1

以及在Linux上(带有-std = c ++ 11标志和GCC 7.4.0编译器)。您的IDE,编译器(带有正确的标志)或STL实现可能存在问题。我认为不可能有第四个理由。

答案 1 :(得分:0)

对我来说很好。 尝试“手动”编译以查找是否与ide有关:

g++ foo.cpp -o foo
./foo