在C ++上打印向量数组

时间:2018-12-01 03:17:37

标签: c++ arrays vector

我正在尝试在c ++中打印向量数组。当我在参数列表和“ for each”循环中省略“ const”时,该程序将运行。当我插入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放在参数列表和for每个循环中时,它给我一个错误。为什么?

这是错误的图片:

screen capture of the code giving the error

1 个答案:

答案 0 :(得分:1)

CREATE EVENT expire_contests ON SCHEDULE EVERY DAY STARTS CURRENT_DATE DO UPDATE tb_contest JOIN ( SELECT contest_id, MAX(date) AS latest FROM tb_answer GROUP BY contest_id ) t USING (contest_id) SET tb_contest.is_expire = 1 WHERE tb_contest.is_expire <> 1 AND t.latest <= CURRENT_DATE - INTERVAL 2 DAY 的声明不正确。要在Employee::printEmployee上下文中使用它,必须为void Employee::printEmployee() const

为将来参考,您为每个循环调用的称为“基于范围的for循环”或“基于范围的for”。为每个循环调用a可能会与实际算法const混淆,应该避免。