What is the syntax for object instantiation in C++?
<p>when I compile the following c++ code:</p>

<pre><code>#include "ConstantList.h"

using namespace std;

int main() {

ConstantList* cl = new ConstantList();

//do something with cl

delete cl;
cl = NULL;

return 0;
}
</code></pre>

<p>The compiler gives me the error:</p>

<pre><code>Undefined symbols:
  "ConstantList::~ConstantList()", referenced from:
      _main in ccNfeeDU.o
  "ConstantList::ConstantList()", referenced from:
      _main in ccNfeeDU.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
</code></pre>

<p>Am I not getting the syntax right for instantiating an object?
My ConstantList.h file looks like this:</p>

<pre><code>#ifndef ConstantList_h
#define ConstantList_h

#include &lt;string&gt;
#include "Token.h"


using namespace std;

class ConstantListTail;

class ConstantList {
public:
    ConstantList();
    ~ConstantList();

    std::string toString();

    void push_back(Token*);
    void push_back(ConstantListTail*);

private:
    Token* termString;
    ConstantListTail* constantListTail;
};



#endif
</code></pre>

<p>Any help is greatly appreciated!</p>
