我不明白为什么会出现语法错误

时间:2017-10-31 17:55:09

标签: c++ windows visual-studio visual-c++

我正在用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

2 个答案:

答案 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