attendu unqualified-id avant une constante de chaîne

Je suis actuellement à la rédaction d'une application C++ qui met en œuvre un Oscillateur en conjonction avec les mathématiques.h. Le code que j'ai doit fonctionner correctement pour l'application (en essayant de compiler un fichier de l'objet), mais j'obtiens une erreur du compilateur le plus susceptible d'avoir à faire avec la syntaxe de/etc; je pense qu'il a quelque chose à voir avec l'espace de noms. L'erreur:

Terminal De Sortie:

User-Name-Macbook-Pro:Synth Parts UserName$ make
g++ -o Oscillators.o -c -I. Oscillators.cpp -c
In file included from Oscillators.cpp:2:
/usr/include/math.h:41: error: expected unqualified-id before string constant
In file included from /usr/include/c++/4.2.1/bits/locale_facets.tcc:42,
             from /usr/include/c++/4.2.1/locale:46,
             from /usr/include/c++/4.2.1/bits/ostream.tcc:46,
             from /usr/include/c++/4.2.1/ostream:635,
             from /usr/include/c++/4.2.1/iostream:45,
             from Oscillators.cpp:4:
/usr/include/c++/4.2.1/typeinfo:41: error: expected declaration before end of line
make: *** [Oscillators.o] Error 1

Oscillators.cpp

#include "Oscillators.h"
#include <math.h>
#include <vector>
#include <iostream>

#define TWOPI (6.2831853072)

using namespace std;

oscillator(int srate = 44100, int tabsize = 8192, double freq = 200) //Default to output 200Hz Sine Wave
{
    if(srate <= 0) {
        cout << "Error: sample rate must be positive" << endl;
        return;
    }
    sizeovrsr_ = (double)tabsize / (double)srate
    if(freq < 20 || freq > 20000) {
        cout << "Error: frequency is out of audible range" << endl;
        return;
    }
    curfreq_ = freq;
    curphase_ = 0.0 //Not out of one, out of tabsize
    incr_ = curfreq * sizeovrsr_;
    for(int i = 0; i < tabsize; i++) {
        gtable.push_back(sin((i*TWOPI)/(double)tabsize));
    }
    gtable.push_back(gtable[0]);
}

void print_table()
{
    vector<double>::size_type i;
    for(i = 0; i < gtable.size(); i++)
        cout << gtable[i] << "\n";
    cout << endl;
}

Oscillateurs.h

#ifndef GUARD_OSCILLATORS_H
#define GUARD_OSCILLATORS_H
#include <vector>

class oscillator {
public:
    /*
    void fill_sine(); //Will change the table to a sine wave
    void fill_square(); //Will change the table to a square wave
    void fill_sawtooth(); //Will change the table to a sawtooth wave
    void fill_triangle(); //Will change the table to a triangle wave
    double tick(double freq); //Will output the current sample and update the phase
    */
    void print_table(); //Will print all table values to standard output
    oscillator(int srate = 44100, double freq = 200, int tabsize = 8192);
private:
    double sizeovrsr_; //Will be set at initialization and will determine phase increase for tick func
    double curphase_;
    double curfreq_; //if the freq sent to a tick function doesn't match the current tick, it will be reset;
    double incr_;
    std::vector<double> gtable_; //Will contain a wavetable with a guard point.
}
#endif

J'ai vu d'autres suggestions qui mentionnent l'utilisation du g++ -Wall -g, mais je ne suis pas sûr que c'est bien le problème, et qu'il y a autre chose qui se passe ici.

Toute aide serait grandement appréciée! Merci!!

source d'informationauteur DanMoore