Проблема заключается в сообщении об ошибке "Ошибка записи о местоположении 0x00000000" сразу после инициализации переменной bk
до NULL
. Я предполагаю, что я должен заранее зарезервировать пространство памяти, чтобы назначить NULL
(что-то вроде Book bk = new Book();
), но до сих пор мне не удалось выяснить, как это сделать на С++.
Book.h
#ifndef Book_H
#define Book_H
struct _book;
typedef _book* Book;
Book CreateBook(unsigned int pageNum);
Book.cpp
#include "Book.h"
#include <iostream>
#ifndef Book_CPP
#define Book_CPP
using namespace std;
struct _book
{
int pageNum;
};
Book CreateBook( unsigned int pageNum){
Book bk = NULL;
bk->pageNum = pageNum;
return bk;
};