Печать массива векторов на с ++ - PullRequest
0 голосов
/ 01 декабря 2018

Я пытаюсь напечатать массив векторов в c ++.Программа работает, когда я пропускаю «const» в списке параметров и в цикле «для каждого».Когда я вставляю квалификаторы константного типа, это дает мне ошибку.

Вот моя основная функция с вызовом функции для печати списка:

int main() {
    std::cout << "Hello World\n";

    std::vector<Employee> employeeList {};

    // Entering employee data 
    buildList(employeeList);


    //print the list of employees.
    printList(employeeList);

    //pause code
    int pause;
    std::cin >> pause;
    return 0;
}

Вот определение списка печати:

void printList(std::vector<Employee> &list) {
    //use a for each loop to print each employee
    int index = 0;
    for (auto &element : list) {
        std::cout << "\n";
        std::cout << "Employee: " <<(index+1)<<     std::endl;
        element.printEmployee();
        index++;
    }

}

Опять же, когда я помещаю const в список параметров и для каждого цикла, это дает мне ошибку.Почему?

Вот изображение ошибки:

снимок экрана с кодом, выдавшим ошибку

1 Ответ

0 голосов
/ 01 декабря 2018

Объявление Employee::printEmployee неверно.Для использования в контексте const оно должно быть void Employee::printEmployee() const.

Для дальнейшего использования то, что вы называете для каждого цикла, называется "циклом на основе диапазона" или "диапазоном-диапазоном"основан на ".Вызов его для каждого цикла можно спутать с фактическим алгоритмом std::for_each, и его следует избегать.

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