Re: C++ porting to GCC problem

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

gcc is right to reject this code, and it will accept :

typename T::Fish theFish = T::Cod;

Regards,

PH
 
--- Alex Bond <alex_bond76@xxxxxxxxxxx> a écrit : 
> Hi,
> 
> I'm porting some C++ originally written in Visual
> Studio to GCC. I've hit 
> one snag that I can't explain and I'd like to get
> some help please!
> 
> The following bit of code is a simplified version of
> the full code, but it 
> replicates the essential form of the problem
> exactly.
> 
> When using g++ (v3.3.3 on Cygwin or v3.2 on Redhat)
> with no extra command 
> line options, it produces a parse error at the
> indicated line. However when 
> compiled under Borland 6 or SGI MIPs (with their
> ANSI switches turned on) it 
> compiles with no whinges and produces the right
> output (the number 2) when 
> run.
> 
> Is this an illegal bit of syntax permitted by other
> compilers (I promise 
> that there is a good reason for this structure in
> the original program!), or 
> is it a g++ thing?
> 
> Thanks in advance
> 
> 
> #include <iostream>
> using namespace std;
> /*------------------------------------*/
> class A
> {
> public:
> 	enum Fish
> 	{
> 		Carp,
> 		Haddock,
> 		Cod
> 	};
> };
> 
> /*------------------------------------*/
> template<class T>
> class Z
> {
> public:
> 	Z(){}
> 
> 	int MakeFish()
> 	{
> 		T::Fish theFish = T::Cod; <-------------Parse
> error here before ";"
> 
> 		cout << theFish << endl;
> 		return 0;
> 	}
> };
> 
> /*------------------------------------*/
> int main()
> {
> 	Z<A> hello;
> 
> 	hello.MakeFish();
> 
> 	return 0;
> }
> 
> 
>  


	
	
		
Vous manquez d?espace pour stocker vos mails ? 
Yahoo! Mail vous offre GRATUITEMENT 100 Mo !
Créez votre Yahoo! Mail sur http://fr.benefits.yahoo.com/

Le nouveau Yahoo! Messenger est arrivé ! Créez vos avatars et envoyez des audiofuns. Découvrez toutes les nouveautés en le téléchargeant sur : http://fr.messenger.yahoo.com

[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux