Tôi đang cố gắng thực hiện một phép lọc trên một vectơ các cuộc tấn công, mỗi cuộc tấn công có ID duy nhất nói, 1-3.C++ cho mỗi phần, kéo từ các phần tử vector
Phương thức lớp học có đầu vào bàn phím từ 1-3.
Tôi đang cố gắng sử dụng một foreach để chạy qua các yếu tố của tôi trong m_attack để xem liệu số có phù hợp hay không, nếu có ... làm điều gì đó.
Vấn đề tôi đang nhìn thấy là thế này:
a'for each' statement cannot operate on an expression of type "std::vector<Attack
Tôi đi về việc này hoàn toàn sai, tôi có C# kinh nghiệm và là loại gì tôi đang dựa trên, bất kỳ trợ giúp sẽ được đánh giá cao.
Mã của tôi là như sau:
Trong tiêu đề
vector<Attack> m_attack;
Trong lớp
int Player::useAttack (int input)
{
for each (Attack* attack in m_attack) // Problem part
{
//Psuedo for following action
if (attack->m_num == input)
{
//For the found attack, do it's damage
attack->makeDamage();
}
}
}
Bạn có thể sử dụng hàm [std :: for_each] (http://www.cplusplus.com/reference/algorithm/for_each/) – andre