#include “stdafx.h“代码的位置,导致编译通不过

文章讲述了在C++代码中,将`stdafx.h`头文件移动到其他头文件之前可以解决编译问题。最初,由于`stdafx.h`位置不当导致编译失败,调整顺序后编译通过并展示了如何使用`list`容器的迭代器计算范围内的元素数量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.先上代码:

#include <iostream>   //std::cout
#include <iterator>   //std::distance
#include <list>       //std::list
using namespace std;
#include "stdafx.h"

int _tmain(int argc, _TCHAR* argv[])
{
    list<int> mylist;
    for (int i = 0; i < 10; i++)
    {
        mylist.push_back(i);
    }
    list<int>::iterator first = mylist.begin();//指向元素0
    list<int>::iterator last = mylist.end();//指向元素9之后的位置
    //获取[first,last)范围内包含元素的个数
    cout << "distance()=" << distance(first, last);
    getchar();
    return 0;
}

编译失败,报错如下:

2.调整#include "stdafx.h"到最前面,如下所示,编译可以通过!

#include "stdafx.h"
#include <iostream>   //std::cout
#include <iterator>   //std::distance
#include <list>       //std::list
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
    list<int> mylist;
    for (int i = 0; i < 10; i++)
    {
        mylist.push_back(i);
    }
    list<int>::iterator first = mylist.begin();//指向元素0
    list<int>::iterator last = mylist.end();//指向元素9之后的位置
    //获取[first,last)范围内包含元素的个数
    cout << "distance()=" << distance(first, last);
    getchar();
    return 0;
}

编译结果:

3.暂时记录一下。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值