cuốn sách gpt4 ai đã làm

Làm cách nào để thêm vectơ vào vectơ trong C++? vectơ .push_back( vectơ <>)?

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-04 15:56:34 32 4
mua khóa gpt4 Nike

Tôi đang tạo một mảng vectơ 2D của char làm biến lớp nhưng tôi đang thêm vectơ vào vectơ Tôi đang gặp sự cố với mảng.

Tôi đang chạy gcc bằng tiêu chuẩn C++ 11.

我尝试使用 vector< vector > row(size, vector );Nhưng lỗi sẽ cho tôi thấy rằng tôi chưa xác định kích cỡvectơ .nếu tôi sử dụng kích thước int định nghĩa nó và vectơcolNó sẽ nghĩ đây là một khai báo hàm mới vì tôi có nó như một biến lớp.

Vì vậy tôi sử dụng phương pháp thông thườngvector< vector > hàng;Và có khả năng thêm một vectơ khác vào nó. Vì vậy tôi sử dụng this->row[i].push_back( vector col);Nhưng sau đó xuất hiện thông báo lỗi lỗi: biểu thức chính được mong đợi trước 'col'Xuất hiện. Tôi cũng đã thử chỉ sử dụng this->row[i].push_back( vector );Nhưng lỗi vẫn tồn tại nói lỗi: biểu thức chính được mong đợi trước ')' .Điều này có thể ngu ngốc, nhưng tôi không biết cách thêm vectơ vào vectơ.

lớp Vector2d {
private:
kích thước int;
vector< vector > hàng;
public:
làm mất hiệu lực make2d();
};

void Vector2d::make2d() {
for (int i = 0; i < this->size; i++) {
this->row[i].push_back( vector col ); // biên dịch lỗi ở đây
for (int j = 0; j < this->size; j++) {
cái này->hàng[i][j];
}
}
cout << "Nó hoạt động!" << endl;
}

Tôi muốn nó thêm mảng vectơ vào mảng vectơ và tôi có thể sử dụng hàng[i][j]cho phần còn lại của chương trình. Nhưng nó báo lỗi trình biên dịch lỗi: biểu thức chính được mong đợi trước 'col'Tôi không biết phải làm gì.

câu trả lời hay nhất

vectơcolkhông phải là một biểu thức hợp lệ. Nó gần giống như một khai báo biến (không phải là điều bạn cần ở đây), ngoại trừ việc thiếu dấu chấm phẩy để hoàn thành khai báo.

Ngoài ra, bạn không thể truy cập hàng[i]直到 hàng ngangthực sự chứa ít nhất Tôi元素。 hàng[i].push_backHãy thử chèn phần tử char vào std::vectorĐó là Tôi phần tử thứ của vectơ vectơ (ngoại trừ bạn chưa bao giờ tạo Tôi phần tử thứ).

Giả sử rằng trong vòng lặp bên dưới, có vẻ như bạn đang giả định rằng vectơ được chèn phải có kích cỡphần tử, đây là cách chèn một vectơ kích cỡCác phần tử được chuyển đổi thành vectơ của vectơ:

row.push_back(std::vector(size));
// hoặc đơn giản hơn
row.emplace_back(size);

Nếu bạn muốn chèn một vectơ trống, chỉ cần sử dụng:

row.emplace_back();

Đây là cách chèn tất cả kích cỡ kích cỡMột vectơ các phần tử sử dụng một lần để bạn có thể sử dụng hàng[i][j]cho tất cả Tôijít hơn kích cỡ :

row.resize(size, std::vector(size));

Làm cách nào để thêm vectơ vào vectơ trong C++? vectơ .push_back( vectơ <>)? , chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/56318955/

32 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress