无法解决方法'shrink_to_fit'

问题描述 投票:0回答:2

我在使用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。

c++ eclipse vector stl
2个回答
0
投票

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

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

0
投票

对我来说很好(带有-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 / win32Java版本:13.0.1

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

© www.soinside.com 2019 - 2024. All rights reserved.