operator<< overload question

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

 



hi:

i am attempting to overload the operator<< with the following function:

ostream& operator<<( ostream& o , const Sensor& s) 
{
	return o << "Name: " << endl
	<< "Port: " << s.get_port() << endl
	<< "Factor: " << s.get_conv() << endl
	<< "Raw Data: " << s.get_val() << endl
	<< "Value: " << s.get_val() * s.get_conv() << endl ;
}

in the header file, i declare this function as:

	class Sensor : public Probe
	{
	public:
		Sensor( long p = 0 , double c = 0.0 , int pd = 1 , char *nm = "") : 
			Probe( p , c , pd , nm ) { }

		...

		friend ostream& operator<<( ostream& o , const Sensor& s ) ;
	} ;

and it is used as:

		cout << "Air: " << airflow << endl ;

when i compile the code, i get the following (if i comment out the line above, 
all works well!)

g++  -g -O2   -o motor  motor.o sensor.o  
motor.o(.text+0x7cd): In function `main':
/home/best/engine-project/control-module/project/src/motor.cpp:67: undefined 
reference to `Measure::operator<<(std::basic_ostream<char, 
std::char_traits<char> >&, Measure::Sensor const&)'
collect2: ld returned 1 exit status

any suggestions are greatly appreciated! tia!

-- 
regards,
allen wayne best, esq
"your friendly neighborhood rambler owner"
"my rambler will go from 0 to 105"
Current date: 41:24:9::360:2003

Temporal anomaly


[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