Метод 'shrink_to_fit' не может быть разрешен - PullRequest
0 голосов
/ 31 октября 2019

У меня проблема с shrink_to_fit () функцией STL C ++. Проблема в том, что я использую его, компилятор выдает ошибку "Метод 'shrink_to_fit' не может быть решен" на Eclipse Luna (32 бит) с компилятором MinGW, но эта же программа прекрасно работает в Dev C ++.

Изображениепрограмма: enter image description here

Ошибка: enter image description here

Компилятор не рекомендует shrink_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.

PS Я использую C ++14.

Ответы [ 2 ]

1 голос
/ 31 октября 2019

Это прекрасно работает для меня (с флагом -std = c ++ 11 и дистрибутивом MinGW от https://nuwen.net/mingw.html#install) на

Eclipse IDE для разработчиков на C / C ++, Версия: 2019-09 R(4.13.0) Идентификатор сборки: 20190917-1200 ОС: Windows 10, v.10.0, x86_64 / win32 Версия Java: 13.0.1

, а также в Linux (с флагом -std = c ++ 11и компилятор GCC 7.4.0). Это может быть проблемой с вашей IDE, компилятором (с правым флагом) или реализацией STL. На мой взгляд, не может быть 4-й причины.

0 голосов
/ 31 октября 2019

Работает нормально для меня. Попробуйте скомпилировать «вручную», чтобы узнать, подходит ли он к идее:

g++ foo.cpp -o foo
./foo
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...