我编辑了我的代码,Quentin给了我一个。所以我的问题是我想在文本文件中使用carac中关键字启动的函数,并在carac中使用该函数,该函数位于包含的其他文件中。
for(std::string carac; fichier>>carac;)
{
auto found = _map.find(carac);
if(found != _map.end()
{
found->second();
pile_double.afficher();
}
}
答案 0 :(得分:0)
#include <iostream>
#include <fstream>
#include <map>
#include <functional>
static std::map<std::string, std::function<void()>> gMap = {
{"un", []{ std::cout << "ein\n"; }},
{"trois", []{ std::cout << "drei\n"; }}
};
int main(int, char**)
{
std::ifstream fichier("input.txt");
if(!fichier.is_open())
return 1;
for(std::string carac; fichier >> carac;) {
auto found = gMap.find(carac);
if(found != gMap.end()) {
found->second();
pile_double.display();
}
}
return 0;
}
我认为这可以满足您的需求。请注意,您应该检查来自&gt;&gt;的退货而不是eof(),否则你执行太多的迭代。