Передача вектора по ссылке через функцию

0

Я получаю ошибку "несоответствие типа/значения при аргументе 1" при объявлении параметров fillVector. Есть где-то проблема пространства имен или просто плохой синтаксис?

#ifndef VECTOR_OBJECTS_H_INCLUDED
#define VECTOR_OBJECTS_H_INCLUDED


void fillVector(vector<Chest> &newChest, int x, int y)
{

ifstream load_chest;
load_chest.open("\\chest_item_inputs.txt");
char input = NULL;
int x_count = NULL;
int y_count = NULL;

while(input != 0)
{
load_chest >> input;
    if(input = '.')
    {
    x_count++;
    }
    if(input = 'C')
    {
    x = x_count;
    y = y_count;
    Chest newChest(x_count, y_count);
    newChest.pushback(newChest);
    }
    if(input = 80)
    {
    x_count = 0;
    y_count++;
    }
} load_chest.seekg (0, load_chest.beg);
}
}

#endif // VECTOR_OBJECTS_H_INCLUDED
  • 0
    Предположительно, VectorObjects.h содержит объявление fillVector . Можем ли мы увидеть это? И можем ли мы увидеть полную ошибку? Есть ли в Chest конструктор по умолчанию?
  • 0
    Я думал, что это была декларация ?? ошибка: несоответствие типа / значения в аргументе 1 в списке параметров шаблона для 'template <class _Tp, class _Alloc> class std :: vector' |
Показать ещё 7 комментариев
Теги:
vector

1 ответ

1

У вас есть локальная переменная с тем же именем, что и аргумент:

void fillVector(vector<Chest> &newChest, int x, int y) {
   ...
   Chest newChest(x_count, y_count);
   newChest.pushback(newChest);
   ...
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню