2009-12-06 38 views

Trả lời

19
Table(string name="", vector <string> mods); 

nếu bạn muốn vector để được sản phẩm nào bên trong constructor sau đó

mods.clear(); 

hoặc

mods.swap(vector<string>()); 

Trong trường hợp bạn muốn như một tham số mặc định:

Table(string name="", vector<string> mods = vector<string>()); 

Giống như bất kỳ thông số mặc định khác.

+0

Ahh cảm ơn! Tôi tiếp tục thử những thứ như vectơ mods (0, "") và nhiều biến thể khác. Sẽ không đoán được điều này chút nào! – Omar

+0

Bắt tin nhắn của bạn trước khi bạn chỉnh sửa nó, phương pháp này hoạt động vector mods = vector () và chỉ vector mods = vector() than phiền về việc cần một đối số mẫu. Tôi rất vui khi thấy thông báo đầu tiên vì có thể tôi sẽ không tìm ra được đối số mẫu ở cả hai phía của nhiệm vụ. – Omar

+0

xin lỗi, nó không được định dạng đúng. –

8

Để thêm vào câu trả lời khác: Nếu bạn đang sử dụng C++ 11, bạn có thể sử dụng cú pháp khởi phổ quát để rút ngắn công bố thông số mặc định cho một vector như sau:

Table(string name="", vector<string> mods={}); 
+0

cách tốt hơn các tùy chọn khác. – dani

Các vấn đề liên quan