я не могу понять, почему я постоянно получаю эту ошибку:

#c 11 #vector #stl

Вопрос:

Строка 1034: Символ 34: ошибка во время выполнения: применение ненулевого смещения 24 к нулевому указателю (stl_vector.h) СВОДКА: Неопределенное поведение: неопределенное поведение /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../включить/c /9/бит/stl_vector.h:1043:34

 class Solution {
public:
    int numIdenticalPairs(vector<int>amp; nums) {
        
        int pair_count=0;
        vector<vector<int>> v;
        for(int i=0;i<nums.size();i  )
        {
            v[nums[i]].push_back(i);
        }
        
        for(int i=1;i<v.size();i  )
        {
            int size=v[i].size();
            pair_count =floor(size/2);
        }
        
        return pair_count;
    }
};
 

Комментарии:

1. v пуст, поэтому v[nums[i]].push_back(i); доступ к нему находится вне зоны действия. Возможно, вам следует объявить его с указанным размером или resize его.

2. Мы можем помочь вам лучше, если вы опишете, чего вы надеетесь достичь. Однако на первый взгляд кажется, что в вашем коде так много проблем.

3. Мы никак не можем определить, какая линия является линией 1034.