RE: Problem with code or gcc?

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

 



	Philippe and Ryan, thank You for your responses.
	One thing that I find it strange is that I can use
MyStruct::CONST in other ways without a problem:

MyStruct m;
int a = m.CONST
std::vector<int> v;
v.push_back(static_cast<int>(m.CONST));
if (b == m.CONST) 
  ...

	However, only when I use 'v.push_back(m.CONST)', I
get a linker error. Shouldn't I get a linker error in
those other cases?


-----Original Message-----
From: Philippe Haution [mailto:philippe_haution@xxxxxxxx]
Sent: Tuesday, September 27, 2005 7:13
To: Kedzierski, Artur CIV NAVSURFWARCENDIV CORONA; gcc-help@xxxxxxxxxxx
Subject: RE: Problem with code or gcc?


Hello,

This is not a valid C++ code, you cannot define the
value of CONST inside the struct declaration.

A more correct code would be :

struct MyStruct {
 static const int CONST;
};

const int MyStruct::CONST = 1;

Regards,

PH

--- "Kedzierski, Artur CIV NAVSURFWARCENDIV CORONA"
<artur.kedzierski@xxxxxxxx> a écrit :

> 	Could anybody tell me if this is a valid C++ code
> or
> a problem with GCC?
> 
> test_prog.cc:
> #include <vector>
> struct MyStruct {
> 	static const int CONST = 1;
> };
> 
> int main() {
> 	std::vector<int> l;
> 	MyStruct z;
> 	l.push_back(z.CONST);
> }
> 
> 
> 	I get an undefined reference to MyStruct::CONST
> when 
> I try to compile it.
> 	I appreciate any help.
> 
> 	Artur Kedzierski
> 



	

	
		
________________________________________________________________________
___ 
Appel audio GRATUIT partout dans le monde avec le nouveau Yahoo!
Messenger 
Téléchargez cette version sur http://fr.messenger.yahoo.com

Attachment: smime.p7s
Description: S/MIME cryptographic signature


[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