字符串常量之前的预期构造函数,析构函数或类型转换

时间:2012-10-15 20:57:49

标签: c++

我只是在这个程序的开始步骤,但我喜欢编译,因为我正在编写代码。另外我对ADT很新,所以在制作这段代码时我遇到了一些问题,我不知道它们是什么意思。

Expression.h

#include "header.h" //Library that contains thing like iomanip, cstring, etc.

class Expression
{
        private:
          char *ieEXP; //Array of characters
          char *peEXP; //Array of characters
          const int MAX = 40; //Max size for the array
        public:
          //Initialize both arrays to 0
          Expression(){ieEXP[MAX] = {0}, peEXP[MAX] = {0}};

          Expression(const Expression &);

          //Destroy contents within the array after program completes
          ~Expression(){ieEXP[MAX] = {0}, peEXP[MAX] = {0}};


          //void ReadInFix(char *ieEXP);
          //void PrintInFix(char *ieEXP);
          //void StrCatch();
          //bool IsOperator();
          //void IntoPostFix(char *peEXP);
          //void PrintPostFix(char *peEXP);
          //int Priority();
};

汇编

g++ -c Expression.h

这是我得到的确切错误

Expression.h:1: error: expected constructor, destructor, 
or type conversion before string constant

还有其他方法尚未使用,只是现在只创建类,而int main还没有调用任何东西。

谢谢。

2 个答案:

答案 0 :(得分:1)

解决方案可能是不编译头文件,因为g ++不会将* .h识别为源文件。您可能想要创建包含标头的.cpp文件,并编译 。 g ++将识别.cpp并正确对待它。

答案 1 :(得分:0)

Expression(){ieEXP[MAX] = {0}, peEXP[MAX] = {0}};

ieEXP和peEXP是指针而不是数组。