I've been trying to use member functions from a class (prototypes define in counter.h) in my main file.
The class implementation is in file counter.cpp and i am trying to compile countertest.cpp. The error message is :
g++ countertest.cpp
Undefined symbols:
"counter::counter()", referenced from:
_main in ccmTnGJX.o
_main in ccmTnGJX.o
"counter::decrement()", referenced from:
_main in ccmTnGJX.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
Here how the countertest.cpp looks like :
#include "counter.h"
#include <iostream>
#include <climits>
using namespace std;
int main()
{
counter c1;
counter c2;
c1.decrement();
return 0;
}
And counter.cpp is define as :
#include "counter.h"
#include <climits>
#include <iostream>
using namespace std;
counter::counter()
{
count=0;
maxValue= INT_MAX;
}
void counter::decrement()
{
count --;
}
Finally, here is the class definition header file counter.h :
#ifndef COUNTER_H
#define COUNTER_H
class counter
{
public:
counter();
void decrement();
private:
int count;
int maxValue;
};
#endif // COUNTER_H