C++ 字符串常量之前需要构造函数、析构函数或类型转换

C++ 字符串常量之前需要构造函数、析构函数或类型转换,c++,C++,我只是在这个程序的开始阶段,但我喜欢在编写代码时进行编译。另外,我对ADT非常陌生,所以在编写这段代码时,我遇到了一些问题,我不知道它们是什么意思 表达式.h #include "header.h" //Library that contains thing like iomanip, cstring, etc. class Expression { private: char *ieEXP; //Array of characters

我只是在这个程序的开始阶段,但我喜欢在编写代码时进行编译。另外,我对ADT非常陌生,所以在编写这段代码时,我遇到了一些问题,我不知道它们是什么意思

表达式.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还没有调用任何东西

多谢各位

Expression(){ieEXP[MAX] = {0}, peEXP[MAX] = {0}};
ieEXP和peEXP是指针而不是数组


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

解决方案可能是不编译头文件,因为g++不将*.h识别为源文件。您可能希望创建一个包含头的.cpp文件,并对其进行编译。g++将识别.cpp并正确处理它。

解决方案可能是不编译头文件,因为g++不将*.h识别为源文件。您可能希望创建一个包含头的.cpp文件,并对其进行编译。g++将识别.cpp并正确处理它。

谢谢您的帮助。我改用了.cc,课堂作业规范。谢谢你的帮助。我改为使用.cc作为类的作业规范。我会改为执行char ieEXP[MAX]和peEXP[MAX]?我会改为执行char ieEXP[MAX]和peEXP[MAX]?