01/10/2018, 17:15

Vì sao không thể sử dụng .assign() của array trong C++

Xin chào mọi người trong forumdiễn đàn nhé.
Mình có đang đọc series hướng dẫn C++ của forum ở bài array sau: https://cpp.daynhauhoc.com/5/2-thu-vien-array-trong-stl/

Trong tutorial có nói chúng ta có thể dùng arr.assign(<value>); để gán tất cả mọi phần tử của arr một giá trị value nào đó. Nhưng khi mình test trên Codeblocks thì lại bị lỗi như sau:

||=== Build: Debug in FirstProject (compiler: GNU GCC Compiler) ===|
D:LearningProjectsC++FirstProjectmain.cpp||In function 'int main()':|
D:LearningProjectsC++FirstProjectmain.cpp|9|error: 'struct std::array<int, 5u>' has no member named 'assign'|
D:LearningProjectsC++FirstProjectmain.cpp|10|warning: comparison between signed and unsigned integer expressions [-Wsign-compare]|
||=== Build failed: 1 error(s), 1 warning(s) (0 minute(s), 0 second(s)) ===|

Đây là code test của mình:

#include <iostream>
#include <array>

using namespace std;

int main()
{
    array<int, 5> arr;
    arr.assign(10);
    for (int i = 0; i < arr.size(); ++i) cout << arr.at(i) << " ";
    cout << "
The first element: " << arr.front() << endl;
    cout << "
The last element: " << arr.back() << endl;
    cout << arr.at(6);
    return 0;
}

Mình cũng thử search trên trang cplusplus thì không có .assign() trong array của C++ luôn: http://www.cplusplus.com/reference/array/array/

Không biết đây có phải là một lỗi của tutorial không nhỉ? Xin mọi người cho ý kiến.
Cảm ơn !

Secret viết 19:21 ngày 01/10/2018

À, mình vừa đọc comments bên dưới bài giảng và đã biết lỗi này. Xin lỗi vì đã không đọc kỹ trước khi hỏi, nhờ các leaders và mods close topic này giúp mình ạ!

Bài liên quan
0