Sử dụng các mảng C bình thường tôi muốn làm một cái gì đó như thế:Đi qua vector bằng cách tham khảo
void do_something(int el, int **arr)
{
*arr[0] = el;
// do something else
}
Bây giờ, tôi muốn thay thế mảng tiêu chuẩn với vector, và đạt được kết quả tương tự ở đây:
void do_something(int el, std::vector<int> **arr)
{
*arr.push_front(el); // this is what the function above does
}
Nhưng nó hiển thị "biểu thức phải có loại lớp". Làm thế nào để làm điều này đúng cách?
'' int ** arr''? ? làm thế nào để gán một mảng 2d trực tiếp? Nếu bạn cần mảng 2d, '' foo (vector> & arr) ''. –
gongzhitaao
Tôi cho rằng anh ta có lẽ đang cố gắng truyền một con trỏ tới một mảng không phải là mảng hai chiều .. sửa lỗi nếu tôi sai – Mppl
Rất nhiều câu trả lời nhưng không ai nhận ra rằng đó là một mảng con trỏ, không phải là con trỏ tới mảng. Họ muốn có một 'std :: vector'. –