R
rogger123
Guest
Hi,
Tôi có một vấn đề biên dịch các đoạn mã sau đây sử dụng itretor đảo ngược cho một danh sách.# Bao gồm <iostream>
# Bao gồm <list>
sử dụng tên miền không gian tiêu chuẩn;
/ / Hiển thị các yếu tố theo thứ tự ngược
template <class T>
void displayListRev (const danh sách <T> & lst)
(
danh sách <T>:: reverse_iterator RL;
cho (RL = lst.rbegin (); lst.rend <RL (); RL)
cout <<* RL <<'';
cout <<endl;
)
int main ()
(
danh sách <int> listType;
listType.push_back (10);
listType.push_back (30);
listType.sort ();
cout <<"Danh sách các nội dung theo thứ tự ngược:";
displayListRev (listType);
trở về 0;
)nó mang lại cho tôi lỗi cho "cho" vòng lặp.một trong những lỗi này là dán dưới đây:
"Nhị phân '=': không điều hành được xác định sẽ đưa một toán hạng tay phải của loại 'lớp học tiêu chuẩn:: <reverse_bidirectional_iterator lớp học tiêu chuẩn:: int <danh sách, lớp học tiêu chuẩn:: <int> cấp phát>:: const"Nếu tôi được thoát khỏi chức năng 'displayListRev (listType)' và thay vào đó thêm mã chức năng correcponding trong phạm vi chức năng chính, lỗi giải quyết được và đầu ra chính xác được tạo ra.
Có thể có người giải thích lý do cho hành vi này.
Các mã đổi lần là như dưới đây:
# Bao gồm <iostream>
# Bao gồm <list>
sử dụng tên miền không gian tiêu chuẩn;
int main ()
(
danh sách <int> listType;
danh sách <int>:: reverse_iterator RL;
listType.push_back (50);
listType.push_back (30);
listType.sort ();
cout <<"Danh sách các nội dung theo thứ tự ngược:";
cho (RL = listType.rbegin (); RL! = listType.rend (); RL)
cout <<* RL <<'';
trở về 0;
)
Liên quan
rogger123
Tôi có một vấn đề biên dịch các đoạn mã sau đây sử dụng itretor đảo ngược cho một danh sách.# Bao gồm <iostream>
# Bao gồm <list>
sử dụng tên miền không gian tiêu chuẩn;
/ / Hiển thị các yếu tố theo thứ tự ngược
template <class T>
void displayListRev (const danh sách <T> & lst)
(
danh sách <T>:: reverse_iterator RL;
cho (RL = lst.rbegin (); lst.rend <RL (); RL)
cout <<* RL <<'';
cout <<endl;
)
int main ()
(
danh sách <int> listType;
listType.push_back (10);
listType.push_back (30);
listType.sort ();
cout <<"Danh sách các nội dung theo thứ tự ngược:";
displayListRev (listType);
trở về 0;
)nó mang lại cho tôi lỗi cho "cho" vòng lặp.một trong những lỗi này là dán dưới đây:
"Nhị phân '=': không điều hành được xác định sẽ đưa một toán hạng tay phải của loại 'lớp học tiêu chuẩn:: <reverse_bidirectional_iterator lớp học tiêu chuẩn:: int <danh sách, lớp học tiêu chuẩn:: <int> cấp phát>:: const"Nếu tôi được thoát khỏi chức năng 'displayListRev (listType)' và thay vào đó thêm mã chức năng correcponding trong phạm vi chức năng chính, lỗi giải quyết được và đầu ra chính xác được tạo ra.
Có thể có người giải thích lý do cho hành vi này.
Các mã đổi lần là như dưới đây:
# Bao gồm <iostream>
# Bao gồm <list>
sử dụng tên miền không gian tiêu chuẩn;
int main ()
(
danh sách <int> listType;
danh sách <int>:: reverse_iterator RL;
listType.push_back (50);
listType.push_back (30);
listType.sort ();
cout <<"Danh sách các nội dung theo thứ tự ngược:";
cho (RL = listType.rbegin (); RL! = listType.rend (); RL)
cout <<* RL <<'';
trở về 0;
)
Liên quan
rogger123