Размер вектора (), помеченный NetBeans как ошибка: невозможно определить идентификатор - PullRequest
0 голосов
/ 17 октября 2018

Итак, я работаю с некоторыми многомерными векторами в C ++ в NetBeans, и всякий раз, когда я пытаюсь вызвать метод .size(), NetBeans помечает его красным и говорит «Невозможно разрешить размер идентификатора».Однако он распознает другие векторные методы, такие как .push_back().Хотя код хорошо компилируется ...

Вот мой код:

#include <vector>
using namespace std;

typedef vector<int> int1D;
typedef vector<int1D> int2D;

int2D populate (int2D arg1, int arg2);

int main () {
    //Do stuff...
}

int2D populate (int2D grid, int gridSize) {
    int2D my_2d_array;
    //Here I fill my_2d_array...
    for (int x = 0; x < gridSize; x++) {
        for (int y = 0; y < gridSize; y++) {
            int value = grid[x][y];
            if (value == 0) {
                //get all coordinaes of values with 0
                int1D coordinates;
                coordinates.push_back(x);
                coordinates.push_back(y);
                my_2d_array.push_back(coordinates);
            }
        }
    }
    for (int x = 0; x < my_2d_array.size(); x++) {
        //do something
    }
}

Вот скриншот с подсветкой ошибок:

enter image description here

Ответы [ 2 ]

0 голосов
/ 29 августа 2019

«Reparse Project», похоже, ничего не сделал для меня.Принятый ответ от Рафаэля Паремузяна , казалось, изначально работал , но ошибки вернулись.Вместо этого я обнаружил, что решение из https://stackoverflow.com/a/35025731/3389183 работает.Процесс прост:

  1. Щелкните правой кнопкой мыши по проекту и выберите Свойства.
  2. Посмотрите на Code Assistance.Убедитесь, что компилятор C ++ имеет «C ++ Standard», установленный на «C ++ 11» (или «C ++ 14»), а не просто «По умолчанию».Может потребоваться сделать то же самое с «C Standard» для компилятора C в разделе «Code Assistance».
0 голосов
/ 14 февраля 2019

У меня были точно такие же симптомы, т. Е. У меня был определен вектор, и он выдал то же сообщение об ошибке «Невозможно определить размер идентификатора», хотя он успешно скомпилирован.

Помогло следующее:

Щелкните правой кнопкой мыши по проекту -> «Помощник по коду» -> «Очистить кэш C / C ++ и перезапустите IDE»

Примечание: это отличается от «Правого клика по проекту» -> «Помощник по коду» -> »Reparse Project ", о котором говорилось в нескольких постах, но не помогло мне.

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