sizeof() に問題があります。以前に作成したクラスにポインターがあります。そして、このポインタは次のように初期化されます
static Book* books;
したがって、何も意味しません。ポインターが配列を指しているかどうかを判断したい。したがって、最初の質問は、実行時にこのポインターのアドレスを変更して配列を指すことができるため、それを行うための解決策は何かということです。sizeof(pointer) を使用しようとしましたが、十分に役に立ちません。戻り値は 4 です。このように、何かを参照しているかどうかを評価できます。
これは私のクラスです:
class Tool
{
private:
static Book* books;
public:
static char* pgetStringIntoArray(string);
static string* pgetStringFromArray(char*);
static void printCharArray(char*);
static bool* addBook(Book*);
static bool* isStored(Book*);
};
そして、これは問題のある方法です:
bool* Tool::isStored(Book* book)
{
bool* stored = new bool(false);
if(Tool::books)
{
cout << "NULL" << endl;
} else {
return stored;
}
}