我有這個如何創建指針數組一個struct
struct Book{
string id;
string title;
string author;
};
,然後我要動態地創建指向該結構的數組。我已經試過這個,我得到分段錯誤。
Book *array[]= (Book*) malloc(sizeof(Book));
我想創建一個書籍列表(標識,標題,作者)。我應該嘗試創建一個結構數組嗎?
我有這個如何創建指針數組一個struct
struct Book{
string id;
string title;
string author;
};
,然後我要動態地創建指向該結構的數組。我已經試過這個,我得到分段錯誤。
Book *array[]= (Book*) malloc(sizeof(Book));
我想創建一個書籍列表(標識,標題,作者)。我應該嘗試創建一個結構數組嗎?
不..
保持一個std::vector<Book>
代替。
#include <string>
#include <vector>
#include <iostream>
struct Book {
std::string id;
std::string title;
std::string author;
};
int main()
{
Book b1 = { "0", "Title1", "Author1" };
Book b2 = { "1", "Title2", "Author2" };
std::vector<Book> books;
books.push_back(b1);
books.push_back(b2);
std::cout << books.at(0).title << std::endl;
// Expected output: "Title1"
}
他想要一個指針數組......不是一個'Book'對象數組。但他可能是誤傳了他的意圖,所以+1無論如何 – 2013-05-03 16:06:21
@CharlesSalvia它聽起來像一個XY問題,但。除非明確解釋需要指針,否則我會傾向於認爲這只是一個錯誤。 – juanchopanza 2013-05-03 16:10:40
考慮到Tonia正在通過「什麼給我最少的錯誤」方法進行編程,我傾向於同意@juanchopanza。 – 2013-05-03 16:19:51
C++?爲什麼不用'new'呢? – soon 2013-05-03 15:57:08
我怎麼能這樣做與新?我嘗試了很多東西,但我得到的只是錯誤 – Tonia 2013-05-03 16:02:28
顯示你已經嘗試過什麼。 – soon 2013-05-03 16:03:52