error C2871: 'std' : does not exist or is not a namespace,该怎么处理

error C2871: 'std' : does not exist or is not a namespace
本来是为了测试print的重载问题,结果编译器却报出了这样的错误,这是怎么一回事?我用的是VC6.0编译器,可以肯定的是std这个名字空间是有的,因为我在其它的程序上使用成功过。下面是我的代码:
#include <iostream>
#include <string>
#include "stdafx.h"
using namespace std;

void print(int count,int i=0);
void print(int count,const char* s="Beavis");
int main()
{
  print(10);
return 0;
}
void print(int count,int i=0)
{
for(int j=0;j<count;j++)
cout<<i<<'\n';
}
void print(int count,const char* s="Beavis")
{
for(int j=0;j<count;j++)
cout<<s<<'\n';
}

------解决方案--------------------
探讨

这段代码本身是有问题的,print重载的错误使用使编译器肯定会报错,就是不知道为什么编译器会说std不存在或不是名字空间。

------解决方案--------------------
void print(int count,int i=0);
void print(int count,const char* s="Beavis");
这两个函数都有默认参数
print(10);
而这句函数的调用,只指定了,一个参数,那么编译器就不知道是该调用你写的两个print函数的那一个,

肯定会出错,先把这个问题解决了,看看还会不会报错