simple error woth templates

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

 



Hi,

I have made this program to learn templates, but gcc
keeps says that there's an undefined reference to
`Dog<int,long>::Dog[in-charge](int,int,long,log)` at
the line marked
bellow.
Could someone show me what's wrong?

Thanks in advance,

Andre


**** Dog.h *****

#ifndef IOSTREAM
  #define IOSTREAM
  #include <iostream.h>
#endif
 
template < class CLASS_A, class CLASS_B >
class Dog
{
  public:
    Dog( CLASS_A firstNumber, CLASS_A secondNumber,
CLASS_B thirdNumber, CLASS_B forthNumber );
    ~Dog(){};   
    void showBigger();

  private:
    CLASS_A number_A;
    CLASS_B number_B;
};


*** Dog.cpp ***

#ifndef DOG
  #define DOG
  #include "Dog.h"
#endif

template < class CLASS_A, class CLASS_B >
Dog< CLASS_A, CLASS_B >::Dog( CLASS_A firstNumber,
CLASS_A secondNumber, CLASS_B thirdNumber, CLASS_B
forthNumber )
{
  number_A = ( firstNumber>secondNumber
)?firstNumber:secondNumber;
  number_B = ( thirdNumber>forthNumber
)?thirdNumber:forthNumber;
}  

template < class CLASS_A, class CLASS_B >
void Dog< CLASS_A, CLASS_B >::showBigger()
{
  cout << number_A << endl;
  cout << number_B << endl;
}


*** main.cpp ***

#ifndef DOG
  #define DOG
  #include "Dog.h"
#endif

int main( int argc, char *argv[] )
{
  Dog < int, long > theDog( 10, 20, 30l, 40l );
  
//  theDog.showBigger;

  return( 0 );
}

__________________________________
Do you Yahoo!?
Yahoo! Tax Center - File online by April 15th
http://taxes.yahoo.com/filing.html

[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