getSplittedText(...) уже определен в L.W.2 - Work with Regular Expression.obj
Не подскажете как исправить?
LexicalAnalyzer.сpp:
void LexicalAnalyzer::Analyze()
{
try
{
std::vector<std::string> splittedStrs;
getSplittedText(FileReader::read_from_file("file.txt").str(), splittedStrs);
}
catch (const std::exception& ex)
{
throw std::runtime_error("");
}
}
LexicalAnalyzer.hpp:
#include <tuple>
#include "FileReader.hpp"
#include "TextSplitter.hpp"
class LexicalAnalyzer
{
public:
static void Analyze();
private:
std::vector<std::tuple<std::string, std::string, std::string>> lexemTable;
};
L.W.2 - Work with Regular Expression.cpp:
#include "LexicalAnalyzer.hpp"
int main()
{
try
{
LexicalAnalyzer::Analyze();
}
catch (const std::exception& ex)
{
std::cerr << ex.what();
return -1;
}
return 0;
}
FileReader.hpp:
#pragma once
#include <string>
#include <fstream>
#include <iostream>
#include <sstream>
class FileReader
{
public:
static std::stringstream read_from_file(const char* filename)
{
try
{
std::ifstream file(filename);
if (!file.is_open())
{
throw std::runtime_error("Error with reading file.");
}
std::stringstream buffer{};
buffer << file.rdbuf();
return buffer;
}
catch (const std::exception& ex)
{
throw ex;
}
}
};
FileSplitter.hpp:
#pragma once
#include <algorithm>
#include <vector>
template <class Container>
void strSplitter(const std::string& str, Container& cont,
const std::string& delims = ";")
{
std::size_t current, previous = 0;
current = str.find_first_of(delims);
while (current != std::string::npos) {
cont.push_back(str.substr(previous, current - previous));
previous = current + 1;
current = str.find_first_of(delims, previous);
}
cont.push_back(str.substr(previous, current - previous));
}
void getSplittedText(std::string rawStr, std::vector<std::string>& splittedStrs)
{
strSplitter<std::vector<std::string>>(rawStr, splittedStrs);
}
для изпровленея ащики нужна всиголищ https://bfy.tw/QgFI .... вбить lnk2005 в гугл.
Во-вторых, вы за каким лешем пишите определение функции в h файле? Вам говорили что так можно?
Да, говорили что можно.
При каких условиях?
Шаблоны, к примеру.
Это шаблон?
Шаблоны это не функции
Это нарушение ODR, ищи, где эта get SplittedText определена, и оставь только одно определение
Нельзя её в заголовочном файле определять
В следующий раз такое через pastebin.com или аналоги
Обсуждают сегодня