第一个cpp中:
#include "stdafx.h"
#include "AllBuild.h"
#include "Graph.h"
第2个cpp中:
#include "StdAfx.h"
#include "baiscobj.h"
#include "GetData.h"
#include "../include/BITMAP.H"
#include "math.h"
#include"stdio.h"
#include "stdlib.h"
#include "time.h"
第三个:
#include "stdafx.h"
#include "Build.h"
#include"AllBuild.h"
#include "math.h"
第4个:
#include "stdafx.h"
#include "C_Vigation.h"
第5个:
#include "MainFrm.h"
#include "C_VigationDoc.h"
#include "C_VigationView.h"
#include <vfw.h>
第6个:
#include "stdafx.h"
#include "C_Vigation.h"
#include "C_VigationDoc.h"
第7个:
#include "StdAfx.h"
#include "math.h"
#include "C_Vigation.h"
#include "C_VigationDoc.h"
#include "C_VigationView.h"
8:
#include "stdafx.h"
#include "C_Vigation.h"
#include "ControlView.h"
9:
#include "stdafx.h"
#include "GetData.h"
#include "baiscobj.h"
10:
#include "StdAfx.h"
#include "GLFont.h"
#include "baiscobj.h"
11:
#include "stdafx.h"
#include "Graph.h"
#include"math.h"
#include"Show2DView.h"
#include "iostream.h"
12:
#include "iostream.h"
#include "stdio.h"
#include <vector>
using namespace std;
#include "stdafx.h"
#include "C_Vigation.h"
#include "Show2DView.h"
#include "math.h"
#include "Graph.h"
13:#include "stdafx.h"
为什么会狂暴错
c:\program files\microsoft visual studio\vc98\include\ios.h(146) : error C2872: 'streambuf' : ambiguous symbol
c:\program files\microsoft visual studio\vc98\include\ios.h(159) : error C2872: 'ostream' : ambiguous symbol
c:\program files\microsoft visual studio\vc98\include\ios.h(159) : error C2872: 'ostream' : ambiguous symbol
c:\program files\microsoft visual studio\vc98\include\ios.h(160) : error C2872: 'ostream' : ambiguous symbol
c:\program files\microsoft visual studio\vc98\include\ios.h(180) : error C2872: 'streambuf' : ambiguous symbol
c:\program files\microsoft visual studio\vc98\include\ios.h(207) : error C2872: 'streambuf' : ambiguous symbol....
14 个解决方案
#1
顶
#2
"streambuf" ambiguous symbol的问题如何解决
会出现这种问题,一般是由于在程序中直接或者间接的同时引用了
#include <stream.h> 和#inclued<stream>
这两个一个是c++标准化之前的,一个是标准化之后的
然后如果你又刚好在程序中使用了using namespace std;
这样编译期就无法区别到底是要用哪个stream了。
比如这次,我在ado2.h中,
#include <string>
同时又using namespace std;这样在我的程序中就导致了上述错误。
解决的办法就是将
using namespace std;改为
using std::string;
所以,结论就是,尽量不要使用 using namespace std;
而是用到什么,就引入什么。
会出现这种问题,一般是由于在程序中直接或者间接的同时引用了
#include <stream.h> 和#inclued<stream>
这两个一个是c++标准化之前的,一个是标准化之后的
然后如果你又刚好在程序中使用了using namespace std;
这样编译期就无法区别到底是要用哪个stream了。
比如这次,我在ado2.h中,
#include <string>
同时又using namespace std;这样在我的程序中就导致了上述错误。
解决的办法就是将
using namespace std;改为
using std::string;
所以,结论就是,尽量不要使用 using namespace std;
而是用到什么,就引入什么。
#3
使用
#include<iostream>吧,这里好像不用加.h吧
#include<iostream>吧,这里好像不用加.h吧
#4
MFC的工程,所有cpp文件必须加#include "stdafx.h" 而且必须加在最前面,此行之前的代码全部被忽略。
#5
注意不要重复包含就行了。。。
#6
还有注意头保护!
#7
将STL的相关库文件都放到stdafx.h中
如果可以的话,还是升级到VS2005或者vs2008吧
如果可以的话,还是升级到VS2005或者vs2008吧
#8
#9
朋友你忘了一个条件“预编译头”如果你的工程采用预编译头则需要加入你设置的哪个预编译头文件
默认为stdafx.h
#10
问题在你第12个文件吧~ 可能是你其他文件多次包含它.
之前没加
#include <vector>
using namespace std;
是不是就连接通过呢?
把他放到最后~(在.h文件中吧)
在最上面加:
#pragma once
#include "stdafx.h"
...
看看怎样了
之前没加
#include <vector>
using namespace std;
是不是就连接通过呢?
把他放到最后~(在.h文件中吧)
在最上面加:
#pragma once
#include "stdafx.h"
...
看看怎样了
#11
#include "stdafx.h"要放在最前面,另外注意是否有头文件重复包含的问题。
#12
#13
使用#include <iostream>问题就解决了,虽然在你们回答此问题之前我就解决了,但是对于第一个正确回答的朋友还是要给分的,眼睛很亮
#14
我想问一下,#include "../include/BITMAP.H“是干你什么用的,我的程序中怎么打不开啊?
#1
顶
#2
"streambuf" ambiguous symbol的问题如何解决
会出现这种问题,一般是由于在程序中直接或者间接的同时引用了
#include <stream.h> 和#inclued<stream>
这两个一个是c++标准化之前的,一个是标准化之后的
然后如果你又刚好在程序中使用了using namespace std;
这样编译期就无法区别到底是要用哪个stream了。
比如这次,我在ado2.h中,
#include <string>
同时又using namespace std;这样在我的程序中就导致了上述错误。
解决的办法就是将
using namespace std;改为
using std::string;
所以,结论就是,尽量不要使用 using namespace std;
而是用到什么,就引入什么。
会出现这种问题,一般是由于在程序中直接或者间接的同时引用了
#include <stream.h> 和#inclued<stream>
这两个一个是c++标准化之前的,一个是标准化之后的
然后如果你又刚好在程序中使用了using namespace std;
这样编译期就无法区别到底是要用哪个stream了。
比如这次,我在ado2.h中,
#include <string>
同时又using namespace std;这样在我的程序中就导致了上述错误。
解决的办法就是将
using namespace std;改为
using std::string;
所以,结论就是,尽量不要使用 using namespace std;
而是用到什么,就引入什么。
#3
使用
#include<iostream>吧,这里好像不用加.h吧
#include<iostream>吧,这里好像不用加.h吧
#4
MFC的工程,所有cpp文件必须加#include "stdafx.h" 而且必须加在最前面,此行之前的代码全部被忽略。
#5
注意不要重复包含就行了。。。
#6
还有注意头保护!
#7
将STL的相关库文件都放到stdafx.h中
如果可以的话,还是升级到VS2005或者vs2008吧
如果可以的话,还是升级到VS2005或者vs2008吧
#8
#9
朋友你忘了一个条件“预编译头”如果你的工程采用预编译头则需要加入你设置的哪个预编译头文件
默认为stdafx.h
#10
问题在你第12个文件吧~ 可能是你其他文件多次包含它.
之前没加
#include <vector>
using namespace std;
是不是就连接通过呢?
把他放到最后~(在.h文件中吧)
在最上面加:
#pragma once
#include "stdafx.h"
...
看看怎样了
之前没加
#include <vector>
using namespace std;
是不是就连接通过呢?
把他放到最后~(在.h文件中吧)
在最上面加:
#pragma once
#include "stdafx.h"
...
看看怎样了
#11
#include "stdafx.h"要放在最前面,另外注意是否有头文件重复包含的问题。
#12
#13
使用#include <iostream>问题就解决了,虽然在你们回答此问题之前我就解决了,但是对于第一个正确回答的朋友还是要给分的,眼睛很亮
#14
我想问一下,#include "../include/BITMAP.H“是干你什么用的,我的程序中怎么打不开啊?