gpt4 book ai didi

c++ - C++98 中基于范围的 for 循环和 vector

转载 作者:太空宇宙 更新时间:2023-11-03 10:41:22 25 4
gpt4 key购买 nike

我正在尝试编译上面的代码,我得到:c++98 模式下不允许基于范围的 for 循环

int max_even = timer_table[0];
int max_odd = timer_table[1];
bool even = true;
for( int v : timer_table )
{
if( even ) {
if( v > max_even )
max_even = v;
} else {
if( v > max_odd )
max_odd = v;
}
even = ! even;
}

std::cout << "max even " << max_even << " max odd " << max_odd << std::endl;

有什么方法可以在 c++98 上编译它?

最佳答案

看起来您的编译器试图在 C++98 中编译,默认情况下它不支持基于范围的 for 循环(请参阅下面的 el.pescado 的评论)。您有两个选择:

  1. 将编译器设置为使用 C++11
  2. 像这样使用一个简单的 for 循环:

    int max_even = timer_table[0]; 
    int max_odd = timer_table[1];
    bool even = true;
    for( int i = 2 ; i < table_length; i++ )
    {
    if( even ) {
    if( timer_table[i] > max_even )
    max_even = timer_table[i];
    } else {
    if( timer_table[i] > max_odd )
    max_odd = timer_table[i];
    }
    even = ! even;
    }

    std::cout << "max even " << max_even << " max odd " << max_odd << std::endl;

关于c++ - C++98 中基于范围的 for 循环和 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36130716/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com