Я использую стандартный файл, я также использую Eclipse IDT. Когда я использую векторный шаблон в своих файлах заголовков, я получаю сообщение об ошибке «вектор не называет тип» или я получаю «Тип 'вектор' не может быть решен". Я могу использовать векторный штраф в файлах .cpp в проекте. Я включаю код файла заголовка ниже

#ifndef TX_H_
#define TX_H_
#include <vector>

class Tx {
    int nT;
    vector<float> beamform;
public:
    Tx(int);
    virtual ~Tx();
    vector <float> Trans(float);
};

#endif /* TX_H_ */

Строка "vector beamform" выдает ошибку "vector not name a type". Линейный вектор Trans(float); выдает ошибку "Тип 'вектор' не может быть разрешен". Пожалуйста, порекомендуйте. Мне нужно передать векторы в качестве параметров. Итак, если мне не разрешено объявлять векторные типы, каков обходной путь?

-4
Thomas85281 23 Окт 2019 в 20:52
4
Используйте std::vector
 – 
jrd1
23 Окт 2019 в 20:53
5
Это std::vector, а не vector.
 – 
Yksisarvinen
23 Окт 2019 в 20:53
1
Просто примечание: не перетаскивайте пространство имен std в глобальное через using, когда будете это исправлять. Это не идеально и не гарантировано, так что даже не рассматривайте это. Используйте правильную квалификацию пространства имен (std::vector), как описано выше. Прочитайте это обсуждение, чтобы лучше понять, о чем я говорю. .
 – 
WhozCraig
23 Окт 2019 в 20:59

1 ответ

вектор не называет тип

Вы получаете эту ошибку, потому что vector объявлено в пространстве имен std. Вместо этого вам нужно написать std::vector<float> beamform;.

1
Code-Apprentice 23 Окт 2019 в 20:55
Это исправило! Я добавил «используя пространство имен std;» почистил и пересобрал проект. К другим вопросам. Спасибо!
 – 
Thomas85281
24 Окт 2019 в 11:46