Có phải vector là 1 dạng của class?

Cho mình hỏi có phải kiểu vector trong C++ là 1 loại của class không? Mình làm thế này:

int a[100];
a.push_back(2);

trong visual studio thì nó báo lỗi là: IntelliSense: expression must have class type và tô đậm chữ a.

Sai, std::vector là một class và push_back là một phương thức của nó.

2 Likes

Hi Tran Nhu Thanh.
a không phải là 1 class nó là con trỏ.

1 Like

Như thế nó cũng được định nghĩa đại khái thế này đúng không bạn:

class vector{};

Cho mình hỏi tại sao nó lại báo lỗi push_back chỉ cho class thế?

Bạn khai báo mảng tĩnh chứ có phải vector đâu
Vector bạn muốn dùng là
std::vector<int> a;

2 Likes

SAI. push_back là thuộc tính của class vector, không phải của mọi class.

SAI. vector là 1 class, phải khai báo

vector<int> a;  // theo C++ docs

vector là class nên không thể đặt tên biến trùng với tên class.

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?