Hi mọi người.
Tình hình là mình cần tạo 1 vector với kiểu dữ liệu là 1 struct cho trước.
Ví dụ struct là 1 phiên họp với thời điểm bắt đầu, thời điểm kết thúc và thời gian của phiên họp.
struct info {
int start, end, val;
};
sau đó mình tạo 1 vector với kiểu dữ liệu trên:
vector<info> arr(n);
rồi tiến hành nhập dữ liệu:
for (int i = 0; i < n; ++i) {
cin >> x >> y;
arr.push_back({x, y, y - x});
}
hoặc
for (int i = 0; i < n; ++i) {
cin >> x >> y;
arr.emplace_back(x, y, y - x);
}
Nhưng khi nhập xong mình xuất ra kết quả nhập thử thì toàn số 0: https://ideone.com/Z8sN8e
#include <iostream>
#include <vector>
using namespace std;
struct info {
int st, en, val;
};
int main() {
int n, x, y;
cin >> n;
vector<info> arr(n);
for (int i = 0; i < n; ++i) {
cin >> x >> y;
arr.push_back({x, y, y - x});
}
for (int i = 0; i < n; ++i) cout << arr[i].st << " " << arr[i].en << " " << arr[i].val << endl;
return 0;
}
Nếu mình ko dùng push_back mà dùng emplace_back như trên thì bị lỗi. (mình ko rành về cách sử dụng emplace_back lắm!).
Ai biết về lỗi này xin hướng dẫn giúp mình cách sửa với ạ! Mình search trên SO thì họ cũng push_back như trên!
Mình cảm ơn trước.