私はクラスを定義したヘッダーファイルを持ち、クラスメンバーにアクセスするためにunique_ptrも使用しました。それはどのようにunique_ptrを使用してC++のクラスメンバーとクラス変数にアクセスする方法
A obj;
bool res = obj.concate("hello");
をunique_ptrを使用して、我々が行うことができます。
しかし、私は、私たちがやっていることは例えば、クラス のオブジェクトを作成され、一般的にclone.cpp からアクセスする方法がわかりませんか?
bool result = access->concate("hello");
をやろうとしています:
Undefined symbols for architecture x86_64: "obja()", referenced from: _main in classA.o ld: symbol(s) not found for architecture x86_64
clone.h
--------
std::unique_ptr<class A> obja();
class A
{
public:
bool concate(string str){
string a = "hello";
return a == str;
}
private:
string b = "world";
};
clone.cpp
________
int main(){
auto access = obja();
return 0;
}
' - >'演算子を使って、生ポインタを逆参照するのと同じ方法です。 – user0042
Oh boy:https://stackoverflow.com/questions/12573816/what-is-an-undefined-reference-unresolved-external-symbol-error-and-how-do-i-fix – user0042
エラーはかなり明確です。あなたは 'obja'という名前の関数を宣言しています。あなたはそれを呼び出していますが、実際に実装していません。 –