Map 使用fancy向量的错误声明原型

Map 使用fancy向量的错误声明原型,map,vector,token,Map,Vector,Token,我有个问题,但我不知道是什么问题。我在编译代码时收到一个错误(涉及一些gnuplot) 对于plotMyLines和PlotLines的原型,我收到此错误。任何提示,谢谢 我敢肯定这是真的 不是显示问题的完整最小代码 某个地方的预处理器出了问题: 我可以编译它没问题 这段代码中没有“-”标记 提示要调查预处理器问题,请参阅预处理的输出,例如 gcc -E -o test.cpp.ii .... (etc) 您应该能够准确地看到编译器在代码行中看到的内容(一直向下滚动以识别您自己的代码)

我有个问题,但我不知道是什么问题。我在编译代码时收到一个错误(涉及一些gnuplot)


对于plotMyLines和PlotLines的原型,我收到此错误。任何提示,谢谢

我敢肯定这是真的

  • 不是显示问题的完整最小代码
  • 某个地方的预处理器出了问题:
    • 我可以编译它没问题
    • 这段代码中没有
      “-”标记
提示要调查预处理器问题,请参阅预处理的输出,例如

gcc -E -o test.cpp.ii .... (etc)
您应该能够准确地看到编译器在代码行中看到的内容(一直向下滚动以识别您自己的代码)

下面的编译就像g上的符咒++

#include <map>
#include <vector>
#include <string>

using namespace std;

typedef struct DATA{
    char Label[50]; //title
    vector<double> y,SD; //y data point SD sigma
}DATA;

typedef map<int, double> Episode;
typedef map<int, Episode> Stat_run;

double GetAvg(double *Array, int Count, double *stddev);
void wait_for_key();
void plotMyLines(DATA *Data, vector< std::map<int, map<int, double> > > Points, int printsteps, double Y1, double Y2, int episode, int run);
void PlotLines(const char *Outfile, vector<double> x, DATA *Data, int Lines, const string &xlabel, const string &ylabel, double Y1, double Y2);


int main()
{
    vector<Stat_run> Points;
    Stat_run exp1;    Episode eps;
    Stat_run exp2;   Episode eps2;
}
#包括
#包括
#包括
使用名称空间std;
typedef结构数据{
字符标签[50];//标题
向量y,SD;//y数据点SDσ
}数据;
地图插曲;
typedef map Stat_run;
双GetAvg(双*数组、整数计数、双*stddev);
void wait_for_key();
无效绘图仪线(数据*数据,向量点,整数打印步骤,双Y1,双Y2,整数片段,整数运行);
无效绘图线(常量字符*输出文件、向量x、数据*数据、整型线、常量字符串和xlabel、常量字符串和ylabel、双Y1、双Y2);
int main()
{
矢量点;
统计运行exp1;插曲eps;
统计运行exp2;第二集eps2;
}

使用gcc 4.6.1可以很好地编译代码段。您可能需要添加一些编译器信息。还有,为什么要使用C样式的结构定义?除了函数plotMyLines、PlotLines和我如何输入点向量(测试后我对其有信心)之外,代码中没有任何与此相关的内容。@user1044740:编译器没有那么自信。你不相信编译器有什么好处?哦,我不相信编译器,他是我唯一的朋友:)我使用了给定的命令,发现我定义了Y1和Y2,并将它们用作变量名。我真傻。@user1044740:那么你找到问题了?如果你能接受我的回答,我将不胜感激:)见
gcc -E -o test.cpp.ii .... (etc)
#include <map>
#include <vector>
#include <string>

using namespace std;

typedef struct DATA{
    char Label[50]; //title
    vector<double> y,SD; //y data point SD sigma
}DATA;

typedef map<int, double> Episode;
typedef map<int, Episode> Stat_run;

double GetAvg(double *Array, int Count, double *stddev);
void wait_for_key();
void plotMyLines(DATA *Data, vector< std::map<int, map<int, double> > > Points, int printsteps, double Y1, double Y2, int episode, int run);
void PlotLines(const char *Outfile, vector<double> x, DATA *Data, int Lines, const string &xlabel, const string &ylabel, double Y1, double Y2);


int main()
{
    vector<Stat_run> Points;
    Stat_run exp1;    Episode eps;
    Stat_run exp2;   Episode eps2;
}