GIDForums  

Go Back   GIDForums > Computer Programming Forums > C++ Forum
User Name
Password
Register FAQ Members List Calendar Search Today's Posts Mark Forums Read

 
 
Thread Tools Search this Thread Rate Thread
  #1  
Old 07-Jan-2005, 14:24
small_ticket small_ticket is offline
Junior Member
 
Join Date: May 2004
Posts: 45
small_ticket is on a distinguished road

What is "Ambigious symbol" ??*( a compilation error)


Here is some code:

CPP / C++ / C Code:
void Interpreter :: read ( char *filename )
{
	ifstream inClientFile ( filename , ios::in );
	
	
	//exitprogram if ifstream could not open file
	if(!inClientFile ) {
		cerr << "File could not be opened" <<endl;
		exit(1);
	} 


	char lineNo[2];
	char *string1;
	char string[80];


	//display each line
	while(inClientFile.getline(string,80)){
	
		for(int i=0;i<2;i++) //strtok da kullanılabilir...
			lineNo[i]=string[i];
		int y = atoi (lineNo);
		
		string1=&string[3];
		
		listObject.insert(string1,y);
		//cout<< string1 << "\n";
		
		
	}
}
and here are the errors:

Code:
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 c:\program files\microsoft visual studio\vc98\include\ios.h(210) : error C2872: 'streambuf' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\ios.h(219) : error C2872: 'ostream' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\streamb.h(90) : error C2872: 'streampos' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\streamb.h(90) : error C2872: 'streamoff' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\streamb.h(91) : error C2872: 'streampos' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\streamb.h(91) : error C2872: 'streampos' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\ios.h(258) : error C2872: 'ios' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\ios.h(258) : error C2872: 'ios' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\ios.h(259) : error C2872: 'ios' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\ios.h(259) : error C2872: 'ios' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\ios.h(260) : error C2872: 'ios' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\ios.h(260) : error C2872: 'ios' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\ios.h(272) : error C2872: 'ostream' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\ios.h(272) : error C2872: 'ostream' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\ios.h(272) : error C2872: 'ostream' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\ios.h(273) : error C2872: 'ostream' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\ios.h(290) : error C2872: 'streambuf' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\istream.h(67) : error C2872: 'streambuf' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\istream.h(74) : error C2872: 'ios' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\istream.h(74) : error C2872: 'ios' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\istream.h(90) : error C2872: 'streambuf' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\istream.h(102) : error C2872: 'streambuf' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\istream.h(117) : error C2872: 'streampos' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\istream.h(118) : error C2872: 'streamoff' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\istream.h(119) : error C2872: 'streampos' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\istream.h(126) : error C2872: 'streambuf' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\istream.h(132) : error C2872: 'ios' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\istream.h(139) : error C2872: 'istream' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\istream.h(140) : error C2872: 'istream' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\istream.h(140) : error C2872: 'ios' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\istream.h(140) : error C2872: 'ios' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\istream.h(142) : error C2872: 'istream' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\istream.h(143) : error C2872: 'istream' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\istream.h(145) : error C2872: 'istream' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\istream.h(146) : error C2872: 'istream' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\istream.h(148) : error C2872: 'istream' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\istream.h(149) : error C2872: 'istream' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\istream.h(150) : error C2872: 'istream' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\istream.h(152) : error C2872: 'istream' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\istream.h(153) : error C2872: 'istream' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\istream.h(155) : error C2872: 'istream' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\istream.h(156) : error C2872: 'istream' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\istream.h(157) : error C2872: 'istream' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\istream.h(159) : error C2872: 'istream' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\istream.h(161) : error C2872: 'istream' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\istream.h(162) : error C2872: 'istream' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\istream.h(167) : error C2872: 'streambuf' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\istream.h(169) : error C2872: 'istream' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\istream.h(169) : error C2872: 'istream' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\istream.h(170) : error C2872: 'istream' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\istream.h(170) : error C2872: 'streambuf' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\istream.h(175) : error C2872: 'istream' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\istream.h(175) : error C2872: 'istream' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\istream.h(177) : error C2872: 'ios' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\istream.h(177) : error C2872: 'ios' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\istream.h(178) : error C2872: 'ios' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\istream.h(178) : error C2872: 'ios' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\istream.h(179) : error C2872: 'ios' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\istream.h(179) : error C2872: 'ios' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\ostream.h(62) : error C2872: 'streambuf' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\ostream.h(70) : error C2872: 'ios' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\ostream.h(70) : error C2872: 'ios' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\ostream.h(87) : error C2872: 'streambuf' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\ostream.h(94) : error C2872: 'streampos' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\ostream.h(95) : error C2872: 'streamoff' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\ostream.h(96) : error C2872: 'streampos' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\ostream.h(101) : error C2872: 'streambuf' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\ostream.h(107) : error C2872: 'ios' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\ostream.h(112) : error C2872: 'ostream' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\ostream.h(113) : error C2872: 'ostream' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\ostream.h(113) : error C2872: 'ios' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\ostream.h(113) : error C2872: 'ios' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\ostream.h(115) : error C2872: 'ostream' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\ostream.h(116) : error C2872: 'ostream' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\ostream.h(118) : error C2872: 'ostream' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\ostream.h(119) : error C2872: 'ostream' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\ostream.h(121) : error C2872: 'ostream' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\ostream.h(123) : error C2872: 'ostream' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\ostream.h(124) : error C2872: 'ostream' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\ostream.h(126) : error C2872: 'ostream' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\ostream.h(127) : error C2872: 'ostream' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\ostream.h(133) : error C2872: 'streambuf' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\ostream.h(135) : error C2872: 'ostream' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\ostream.h(135) : error C2872: 'ostream' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\ostream.h(136) : error C2872: 'ostream' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\ostream.h(136) : error C2872: 'streambuf' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\ostream.h(139) : error C2371: 'cout' : redefinition; different basic types c:\program files\microsoft visual studio\vc98\include\iostream(18) : see declaration of 'cout' c:\program files\microsoft visual studio\vc98\include\ostream.h(143) : error C2872: 'ostream' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\ostream.h(143) : error C2872: 'ostream' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\ostream.h(144) : error C2872: 'ostream' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\ostream.h(144) : error C2872: 'ostream' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\ostream.h(145) : error C2872: 'ostream' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\ostream.h(145) : error C2872: 'ostream' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\ostream.h(147) : error C2872: 'ios' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\ostream.h(147) : error C2872: 'ios' : ambiguous symbol c:\program files\microsoft visual studio\vc98\include\ostream.h(147) : fatal error C1003: error count exceeds 100; stopping compilation

What is the meaning of this "ambiguous symbol"? What can I do to get rid of this? By the way I have included the ones below:

CPP / C++ / C Code:
#include <iostream>

using std::cout;
using std::cin;
using std::ios;
using std::cerr;
using std::endl;
using std::left;
using std::right;
using std::fixed;
using std::showpoint;

#include <fstream>

using std::ifstream;

#include <iomanip>

using namespace std;

//using std::setw;
//using std::setprecision;

#include <cstdlib>

#include <cstring>

using std ::string;

All suggestions and assistances are greatly appreciated.
  #2  
Old 07-Jan-2005, 16:55
davekw7x davekw7x is offline
Outstanding Member
 
Join Date: Feb 2004
Location: Left Coast, USA
Posts: 4,648
davekw7x is a splendid one to beholddavekw7x is a splendid one to beholddavekw7x is a splendid one to beholddavekw7x is a splendid one to beholddavekw7x is a splendid one to beholddavekw7x is a splendid one to beholddavekw7x is a splendid one to behold
Quote:
Originally Posted by small_ticket
All suggestions and assistances are greatly appreciated...

You didn't give us very much to work with.

I have seen the "ambiguous symbol" messages when people included both <iostream> and <iostream.h> (Don't do this.) Sometimes this happens when people have #include <> stuff inside an #included file that someone else created. (Or that they created and then forgot what was in it.)

If you can reduce the size of the program to a small enough number of lines to allow you to post the entire files (including all local include files that are used), and show the compile errors you got, maybe we could catch a clue. There's not much else I can do unless I can compile your code.

Here's an example that gives me hundreds of C2872 errors:

CPP / C++ / C Code:
#include <iostream>

using namespace std;

#include "myheader.h"

int main()
{
  cout << "Hello, World!" << endl;
  return 0;
}


The file "myheader.h" is this single line:

CPP / C++ / C Code:
#include <iostream.h>

Here are the first few error messages:
Code:
E:\PROGRA~1\MICROS~2\VC98\INCLUDE\ios.h(146) : error C2872: 'streambuf' : ambiguous symbol E:\PROGRA~1\MICROS~2\VC98\INCLUDE\ios.h(159) : error C2872: 'ostream' : ambiguous symbol E:\PROGRA~1\MICROS~2\VC98\INCLUDE\ios.h(159) : error C2872: 'ostream' : ambiguous symbol E:\PROGRA~1\MICROS~2\VC98\INCLUDE\ios.h(160) : error C2872: 'ostream' : ambiguous symbol E:\PROGRA~1\MICROS~2\VC98\INCLUDE\ios.h(180) : error C2872: 'streambuf' : ambiguous symbol E:\PROGRA~1\MICROS~2\VC98\INCLUDE\ios.h(207) : error C2872: 'streambuf' : ambiguous symbol E:\PROGRA~1\MICROS~2\VC98\INCLUDE\ios.h(210) : error C2872: 'streambuf' : ambiguous symbol E:\PROGRA~1\MICROS~2\VC98\INCLUDE\ios.h(219) : error C2872: 'ostream' : ambiguous symbol E:\PROGRA~1\MICROS~2\VC98\INCLUDE\streamb.h(90) : error C2872: 'streampos' : ambiguous symbol E:\PROGRA~1\MICROS~2\VC98\INCLUDE\streamb.h(90) : error C2872: 'streamoff' : ambiguous symbol E:\PROGRA~1\MICROS~2\VC98\INCLUDE\streamb.h(91) : error C2872: 'streampos' : ambiguous symbol E:\PROGRA~1\MICROS~2\VC98\INCLUDE\streamb.h(91) : error C2872: 'streampos' : ambiguous symbol

Look familiar?

If I comment out the #include "myheader.h" it compiles and executes OK.

Regards,

Dave
Last edited by davekw7x : 07-Jan-2005 at 17:38.
  #3  
Old 07-Jan-2005, 21:10
small_ticket small_ticket is offline
Junior Member
 
Join Date: May 2004
Posts: 45
small_ticket is on a distinguished road
Thanks davekw7x!

It has been solved as you said in one of the headers I had used <iostream.h> when I changed it all errors gone. Thanks :-o
 
 

Recent GIDBlogA Week in Kuwait by crystalattice

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
[Tutorial] GUI programming with FLTK dsmith FLTK Forum 10 03-Oct-2005 15:41
Error C2146: syntax error : missing ',' before identifier 'C4' mattchew008 C++ Forum 2 19-Dec-2004 06:06
Can enum have same name as class? crystalattice C++ Forum 3 08-Dec-2004 16:43
"undefined symbol" error crystalattice C++ Forum 3 27-Sep-2004 07:32
compilation error cameron C++ Forum 18 20-Feb-2004 00:41

Network Sites: GIDNetwork · GIDWebHosts · GIDSearch · Learning Journal by J de Silva, The

All times are GMT -6. The time now is 01:38.


vBulletin, Copyright © 2000 - 2008, Jelsoft Enterprises Ltd.