Tôi đã mã hóa những điều sau đây, và rất mới với C++, và nó cảm thấy vụng về. Tôi đang cố gắng cung cấp cho phạm vi lớp 'spriteBatch' (một unique_Ptr). Dưới đây là các tập tin tiêu đề:Cú pháp khai báo biến unique_Ptr trong tiêu đề là gì, sau đó gán nó sau này trong hàm tạo?
ref class CubeRenderer : public Direct3DBase
{
public:
CubeRenderer();
~CubeRenderer();
private:
std::unique_ptr<SpriteBatch> spriteBatch;
};
Sau đó, trong tập tin cpp Constructor, này:
std::unique_ptr<SpriteBatch> sb(new SpriteBatch(m_d3dContext.Get()));
spriteBatch = std::move(sb);
Nó chỉ có vẻ vụng về cách tôi đã phải tạo ra 'sb' và di chuyển nó đến 'spriteBatch'. cố gắng gán trực tiếp cho 'spriteBatch' không thành công (có thể tôi chỉ đơn giản là không biết cú pháp thích hợp). Có cách nào để tránh cần sử dụng 'sb' & std :: move?
Cảm ơn bạn.
Nếu điều này nằm trong hàm tạo, bạn chỉ có thể sử dụng trình khởi tạo thành viên. – chris
Ah, cảm ơn, nhưng thực sự mã của tôi ở trên không biên dịch nên câu hỏi của tôi hơi sớm. Quay lại hình vuông 1. –