単純なクラスListで作業していますが、ヘッダーとcppファイルをコンパイルすると、次のエラーが発生します:`main'への未定義の参照
私は何を間違っているのですか、そしてどうすればこれを修正できますか?
単純なヘッダーを持つlist.hファイルは次のとおりです。
list.h
#ifndef LIST_H
#define LIST_H
#include <string>
const int DEFAULT_CAPACITY = 100;
class List
{
public:
List();
List(int capacity);
~List();
void push_back(std::string s);
int size() const;
std::string at(int index) const;
private:
std::string* mData;
int mSize;
int mCapacity;
};
#endif
そしてここにlist.cppファイルがあります:
list.cpp
#include "list.h"
#include <string>
List::List(){
mData = new std::string[DEFAULT_CAPACITY];
mSize = 0;
mCapacity = 100;
};
List::List(int capacity){
mData = new std::string[capacity];
mSize = 0;
mCapacity = capacity;
};
List::~List(){
delete[] mData;
};
void List::push_back(std::string s){
if (mSize<mCapacity){
mData[mSize] = s;
mSize++;
}
};
int List::size() const{
return mSize;
};
std::string List::at(int index) const{
return mData[index];
};
「名前空間stdの使用」とインクルードの方法を試してみましたが、これらのエラーを解消する方法がわかりません。それらの原因は何ですか?