1

我只是在这个程序的开始步骤,但我喜欢在编写代码时进行编译。此外,我对 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 还没有调用任何东西。

谢谢你。

4

2 回答 2

1

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

于 2012-10-15T21:05:18.190 回答
0
Expression(){ieEXP[MAX] = {0}, peEXP[MAX] = {0}};

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

于 2012-10-15T21:00:26.403 回答