Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
s_v_v
4 / 4 / 1
Регистрация: 03.08.2015
Сообщений: 20
#1

Ошибка при объявлении функции в заголовочном файле - C++

13.08.2015, 00:15. Просмотров 262. Ответов 3
Метки нет (Все метки)

Здравствуйте!
Я пытаюсь в заголовочном файле объявить вот такой метод:

test.h
C++
1
2
3
4
5
6
7
8
9
10
#include <string>
#include <vector>
class data
{
public:
...
private:
...
    vector<string> getArrString(std::string);
};
Вот я его определяю в исполняемом файле:

test.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include "test.h"
#include <iostream>
#include <fstream>
#include <Windows.h>
#include <string>
#include <vector>
using namespace std;
 
...
vector<string> data::getArrString(string str){
    vector<string> vsArr;
        ...
        return vsArr;
}
Но почему то получаю ошибку в строке 9 файла test.h:
C++
1
 error C2143: syntax error : missing ';' before '<'
Если заменить тип возвращаемых данных vector<string> на void ошибка исчезает.
Когда объявлял и определял этот метод как функцию в одном файле то все работало.
Подскажите в чем может быть проблема? Возможно я как то неправильно подключаю заголовочные файлы для test.h и test.сpp
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.08.2015, 00:15
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибка при объявлении функции в заголовочном файле (C++):

Ошибка компилятора при объявлении переменной в другом файле - C++
Здравствуйте, подскажи пожалуйста почему возникает ошибка ||error: ld returned 1 exit status| Моя программа: main.cpp #include...

Ошибка при объявлении функции класса - C++
функция определена: class krug{ // ... void sr(krug ob); // ... } // ... void krug::sr(krug ob){ double s1,s2;

Функции в заголовочном файле - C++
Почему нельза задать тело функции в .h файле??? например(header.h): #ifndef HEADER_H #define HEADER_H void f(){} #endif //...

Ошибка при объявлении функции. [Error] ld returned 1 exit status - C++
в чем суть? Хочу организовать выполнение некоторых задач в отдельную функцию. Но не получаться. Вроде бы все правильно уже сделали...

определение функции в ЗАГОЛОВОЧНОМ файле. В основном предполагается переопределение ТЕЛА этой функции. Как это сделать, не правя хидер? - C++
Сабж, а подробнее если в заголовочном файле hider.h описана функция, допустим так: void f (); void f () { int per= 10; } ...

В каком заголовочном файле находятся функции Sleep() и delay() и как правильно их использовать? - C++
в каком хедере они находятся и как правильно их использовать Добавлено через 1 минуту дядя яндекс ничего не подсказал =(

3
Dani
1393 / 637 / 57
Регистрация: 11.08.2011
Сообщений: 2,283
Записей в блоге: 2
Завершенные тесты: 1
13.08.2015, 00:18 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от s_v_v Посмотреть сообщение
vector<string> getArrString(std::string);
Если std::string то может std::vector<std::string>? Или же вы где-то сделали using namespace std;
1
Vort_
188 / 188 / 52
Регистрация: 10.07.2012
Сообщений: 400
13.08.2015, 07:53 #3
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
строчка "using namespace std;" работает только там, где написана
соответственно, надо или написать её во всех файлах где используется в проекте STL
либо убрать её отовсюду и везде в STL типах писать std:: - std::string, std::vector, ...
1
s_v_v
4 / 4 / 1
Регистрация: 03.08.2015
Сообщений: 20
13.08.2015, 08:12  [ТС] #4
Да, действительно, в аргументе писал std::string, а в возвращаемом типе почему то не добавил. Спасибо за ответы.
0
13.08.2015, 08:12
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.08.2015, 08:12
Привет! Вот еще темы с ответами:

Как завести вектор и структуру глобально в заголовочном файле или в чем ошибка - C++
Создал заголовочный файл Globals.h. В нем объявляется структура и вектор из структур. #ifndef _Globals_ #define _Globals_ #include...

Ошибка в определении или объявлении функции - C++
Доброго времени суток выдаёт ошибку 1&gt;c:\users\smaile\documents\visual studio 2010\projects\ыы\ыы\ыы.cpp(57): error C2264: check::~check:...

Ошибка в объявлении функции (необъявленный идентификатор) - C++
#pragma once #include &lt;cstring&gt; typedef unsigned int ui; int GetNumberInt(); double GetNumberFloat(); bool GetBool(); void...

Моя ошибка в объявлении функции и как её исправить? - C++
Доброго дня форумчане. Прошу вашей помощи. Недавно начал изучать c++. Учусь по книге Дейтела. Сразу к сути. Я пытался заставить функцию...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru