Я довольно новичок в концепции разделения программы на header
и т. Д. Обычно это нормально, но в этом случае у меня есть целая куча ошибок, если я попытаюсь сделать следующее:Объявление функции с STL в заголовке C++
Предположим, у меня есть CPP-файл:
#include <iostream>
#include <string>
#include <map>
#include <algorithm>
#include <vector>
#include "Header.h"
using namespace std;
int main() {
//some code here
}
map <char, char> create(vector <char> &one, vector <char> &two) {
//some code here
}
vector <char> conc(string phrase) {
// some code here
}
vector <char> result(vector<char> three, map <char, char> code) {
// some code here
}
в Header.h
у меня есть:
map <char, char> create(vector <char> &one, vector <char> &two);
vector <char> conc(string phrase);
vector <char> result(vector<char> three, map <char, char> code);
Какие только объявления функций .. Если я ставлю их в .cpp программе работ отлично, но если в Header.h - нет. Не могли бы вы рассказать, чего я здесь не хватает?
Я читаю о концепции разделения на cprogramming.com, но у них никогда не было примера с STL. Спасибо!
.h файл должен включать все необходимые заголовки. Кроме того, он должен содержать [включить охранников] (http://en.wikipedia.org/wiki/Include_guard). – n0rd