Прототип объявления ошибки с причудливым вектором - PullRequest
0 голосов
/ 14 ноября 2011

У меня есть проблема, но я не знаю, что это такое. Я получаю сообщение об ошибке при компиляции своего кода (задействован некоторый gnuplot).

#include <iostream>
#include <fstream>
#include <vector>
#include <map>
#include <string>
#include <math.h>
#include "gnuplot_i.hpp" 

  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;
}

Я удалил большую часть своего кода. Цель состоит в том, чтобы отформатировать некоторые результаты, чтобы отправить их моим функциям построения графиков. Я получаю сообщение об ошибке, которое кажется простым, но после 2 часов теста я не могу найти, где моя проблема. Ошибка:

error: expected ‘,’ or ‘...’ before ‘-’ token

Я получаю эту ошибку для прототипа plotMyLines и PlotLines. Любые советы приветствуются!

1 Ответ

0 голосов
/ 14 ноября 2011

Я уверен, что это

  • не полный минимальный код, чтобы показать проблему
  • где-то перепутался препроцессор:
    • Я могу без проблем скомпилировать
    • В этом фрагменте кода нет '-' token.

Подсказка для исследования проблемы препроцессора, см. Результаты предварительной обработки, например

gcc -E -o test.cpp.ii .... (etc)

Вы должны видеть в точности то, что видит компилятор в строках (прокрутите до конца, чтобы распознать собственный код).

Следующие компиляции как garm на 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;
}
...