我正在用c ++类创建一个程序,我不明白为什么这个语法错误没有定义分号。如果你需要我发送堆栈跟踪,我会把它放在评论部分。我在这个H类中有多个错误。我是c ++的新程序员。谢谢你的贡献。
#pragma once
#ifndef CONVERT_M_TO_FT_H
#define Convert_M_to_Ft
class Convert_M_to_Ft {
private:
double feet, meters, inches, centimeters;
const double METERS_PER_FOOT;
const double INCHES_PER_FOOT;
public:
Convert_M_to_Ft();
void conversion();
void setFeetAndInches(double feet, double inches);
double getMeters();
double getCentimeters();
};
#endif
答案 0 :(得分:2)
替换
#define Convert_M_to_Ft
带
#define CONVERT_M_TO_FT_H
问题是预处理器扩展了
class Convert_M_to_Ft {
private:
//...
};
到
class {
private:
//...
};
否则。
答案 1 :(得分:0)
这是因为你:
#define Convert_M_to_Ft
这意味着Convert_M_to_Ft
将在您的代码中转换为空。特别是这一行:
public:
Convert_M_to_Ft();
将转换为:
public:
();
这可能是您的语法错误来自的地方。如果这不是唯一的错误,您应该将实际错误包括在实际行号中。
您可能打算在顶部执行此操作:
#pragma once
#ifndef CONVERT_M_TO_FT_H
#define CONVERT_M_TO_FT_H