我正在尝试在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每个循环中时,它给我一个错误。为什么?
这是错误的图片:
答案 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
混淆,应该避免。