//Menu.h
#include<iostream>
#include<conio.h>
#include <map>
#include <string>
#include <functional>
#include <utility>
using namespace std;
map<string,function< void() > > mapa;
string names[100];
string functions[100];
char keys[100];
int pos=0;
void menu(string name,char key,string functionc)
{
names[pos]=name;
keys[pos]=key;
functions[pos]=functionc;
mapa.insert(map<string,function< void()> >::value_type(functionc,functionc));
pos++;
}
void write()
{
for(int i=0;i<pos;i++)
{
cout<<names[pos]<<" ";
cout<<endl;
}
}
ERROR: Error 1 error C2064: term does not evaluate to a function taking 0 arguments我不明白,在地圖上的這個錯誤插入
//Main.cpp
#include <iostream>
#include <map>
#include <string>
#include"Menu.h"
using namespace std;
void ime()
{
cout<<"k";
}
int main() {
menu("ime1",'c',"ime");
pisi();
system("PAUSE");
return 0;
}
我想讓頭通用的,因此用戶可以在菜單中進行。 將清點其名稱和需要被壓來訪問它的功能 用戶將做出自己的功能,然後從它需要使用它的頭它焦炭....
有關Visual Studio的一個好處是,您可以查找所有錯誤代碼的含義(本例中爲C2064)。只需搜索「MSDN C2064」。 – Simon
請不要使用命名空間標準;在標題中。實際上,請不要將大部分代碼放在標題中 – doctorlove
好吧,我將創建一個新文件cpp,然後包含它:P – Nameless