public inbox for gcc-help@gcc.gnu.org
 help / color / mirror / Atom feed
* C++ porting to GCC problem
@ 2004-11-17 15:11 Alex Bond
  2004-11-17 15:45 ` Eljay Love-Jensen
  2004-11-17 15:59 ` Philippe Haution
  0 siblings, 2 replies; 3+ messages in thread
From: Alex Bond @ 2004-11-17 15:11 UTC (permalink / raw)
  To: gcc-help

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;
}


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2004-11-17 15:59 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-11-17 15:11 C++ porting to GCC problem Alex Bond
2004-11-17 15:45 ` Eljay Love-Jensen
2004-11-17 15:59 ` Philippe Haution

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).