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