Не могу понять в чем проблема. Просто не компилируется данный код:
int main(int argc, char * argv[])
{
int arr[] = { 1,2,3,4,5,6,7 };
for each (int var in arr)
{
}
system("pause");
}
Ошибка компиляции: expected a {.
Чего ему здесь не хватает?
Видимо это нестандартный синтаксис for each, in, реализованный в свое время в VC++ и VC++/CLI. Однако в стандарт С++ попал альтернативный синтаксис, который и следует использовать:
for(auto const & int: arr)
{
}
в с++ for each это не конструкция языка а функция из стандартной библиотеки STL, которую следует использовать следующим образом в вашем примере:
#include <iostream>
#include <algorithm>
int main(int argc, char * argv[])
{
int arr[] = { 1,2,3,4,5,6,7 };
std::for_each(arr, arr + sizeof(arr)/sizeof(arr[0]), [](int el)
{
std::cout << el << ' ';
});
system("pause");
return 0;
}
Возможно, ваш компилятор не поддерживает приведённый вариант. И правильно делает, в общем, потому что это полный нестандарт.
Стандартный вариант записи (начиная с C++11) такой:
int main(int argc, char * argv[])
{
int arr[] = { 1,2,3,4,5,6,7 };
for (int var : arr)
{
}
}
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости