“std”: 具有该名称的命名空间不存在

hitfranksun 2008-04-28 10:01:01
我用的是vs2005,自动生成了一个.h文件,添加一些头文件后如下
#pragma once

#ifndef _WIN32_WINNT // 允许使用特定于 Windows XP 或更高版本的功能。
#define _WIN32_WINNT 0x0501 // 将此值更改为相应的值,以适用于 Windows 的其他版本。
#endif

#include <iostream>
#include <cstdio>
#include <ctchar>
#include <cconio>
#include <cmath>
#include "mfcc.h"

在.cpp文件中使用using namespace std;后编译提示:
“std”: 具有该名称的命名空间不存在

于是我在.cpp文件中加入#include <iostream>,问题解决


然而,我又新建了一个新的project试验,在.h文件中加入#include <iostream>,.cpp文件中不添加,使用using namespace std;一切正常

请问高手问题出在哪里呢?

...全文
3591 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
henu070273058 2009-09-27
  • 打赏
  • 举报
回复
using namespace std;放在最顶端,因为#include <iostream> 已经使用了std了。所以首先引入std


这招太厉害了,不过不能从根本上解决
qingsebaobei 2009-06-13
  • 打赏
  • 举报
回复
用 using std::cout;这样不会冲突啊
各用各的
guru1 2009-06-11
  • 打赏
  • 举报
回复
using namespace std;放在最顶端,因为#include <iostream> 已经使用了std了。所以首先引入std
haizzz 2008-11-18
  • 打赏
  • 举报
回复
我也遇到同样的问题了,把<iostream>和<vector>放到stdafx.h中就编译不通过 ,说没有std这个命名空间,而放到我的.cpp文件中就没问题,不明白问什么?
knowledge_Is_Life 2008-05-01
  • 打赏
  • 举报
回复
支持搂主,收藏
ouyh12345 2008-04-28
  • 打赏
  • 举报
回复
[Quote=引用楼主 hitfranksun 的帖子:]
我用的是vs2005,自动生成了一个.h文件,添加一些头文件后如下
[/Quote]

包含了这个生成的头文件了吗?
hitfranksun 2008-04-28
  • 打赏
  • 举报
回复
你是说#include "stdafx.h"?包含了啊,在有它的情况下.cpp如果没有#include <iostream> 就不行,但stdafx.h中已经有<iostream>了啊
ouyh12345 2008-04-28
  • 打赏
  • 举报
回复
cpp文件里包含那个头文件了吗?
hitfranksun 2008-04-28
  • 打赏
  • 举报
回复
以下是.cpp文件
#include "stdafx.h"

#define MAXFRAME 800000 //采样最大帧数
#define SAMPLING 8000 //采样率
#define LENGTH 20 //窗长度(ms)
#define FRAME_NUM 160 //每个窗采样数(采样率*窗长度*0.001)
#define WIN_NUM 1000001 //所需的最大窗个数((采样最大帧数/每窗帧数)*2+1)
#define MAX_FILE_NUM 10 //最大文件数的位数
#define FILE_NUM 1 //文件数
#define DIM_NUM 14 //训练矢量维数 12+1+1

using namespace std;

struct frame{
_int16 data[FRAME_NUM];
long energy;
long zero;
float Cep[PCEP];
}windows[WIN_NUM];

_int16 sampling[MAXFRAME]; //采样


long load(const char* filename); //将wav文件读入内存的函数
long addwindow(long end); //加窗函数,返回窗的数目
void energy(long win_num); //计算短时能量
void zero(long win_num); //计算平均过零率
int sgn(_int16 x); //符号函数
void ntoa(int n, char* display); //int to array



int _tmain(int argc, _TCHAR* argv[])
{
……
}

……(各个声明函数定义)




以下是stdafx.h文件
// stdafx.h : 标准系统包含文件的包含文件,
// 或是经常使用但不常更改的
// 特定于项目的包含文件
//

#pragma once

#ifndef _WIN32_WINNT // 允许使用特定于 Windows XP 或更高版本的功能。
#define _WIN32_WINNT 0x0501 // 将此值更改为相应的值,以适用于 Windows 的其他版本。
#endif


#include <stdio.h>
#include <tchar.h>
#include <conio.h>
#include <math.h>
#include <iostream>
#include <string>
#include <fstream>
#include "mfcc.h"




// TODO: 在此处引用程序需要的其他头文件
queshangxintou 2008-04-28
  • 打赏
  • 举报
回复
应该没有问题
ouyh12345 2008-04-28
  • 打赏
  • 举报
回复
那就应该不会出问题。

帖出代码,.h和.cpp的开始部分
hitfranksun 2008-04-28
  • 打赏
  • 举报
回复
包含了啊

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧