Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
s_v_v
4 / 4 / 1
Регистрация: 03.08.2015
Сообщений: 20
#1

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

13.08.2015, 00:15. Просмотров 309. Ответов 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++):

Ошибка компилятора при объявлении переменной в другом файле
Здравствуйте, подскажи пожалуйста почему возникает ошибка ||error: ld...

Ошибка при объявлении функции
Подскажите пожалуйста в строчке void (*pAction)(A, B, size, rez) = &amp;MAX; //...

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

Функции в заголовочном файле
Почему нельза задать тело функции в .h файле??? например(header.h): #ifndef...

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

определение функции в ЗАГОЛОВОЧНОМ файле. В основном предполагается переопределение ТЕЛА этой функции. Как это сделать, не правя хидер?
Сабж, а подробнее если в заголовочном файле hider.h описана функция, допустим...

3
Dani
1393 / 637 / 134
Регистрация: 11.08.2011
Сообщений: 2,295
Записей в блоге: 2
Завершенные тесты: 1
13.08.2015, 00:18 #2
Лучший ответ Сообщение было отмечено s_v_v как решение

Решение

Цитата Сообщение от s_v_v Посмотреть сообщение
vector<string> getArrString(std::string);
Если std::string то может std::vector<std::string>? Или же вы где-то сделали using namespace std;
1
Vort_
190 / 190 / 78
Регистрация: 10.07.2012
Сообщений: 400
13.08.2015, 07:53 #3
Лучший ответ Сообщение было отмечено s_v_v как решение

Решение

строчка "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
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.08.2015, 08:12
Привет! Вот еще темы с решениями:

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

Как завести вектор и структуру глобально в заголовочном файле или в чем ошибка
Создал заголовочный файл Globals.h. В нем объявляется структура и вектор из...

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

Ошибка в определении или объявлении функции
Доброго времени суток выдаёт ошибку 1&gt;c:\users\smaile\documents\visual studio...


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

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

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