如何在C ++中的.h文件内的类中定义结构

时间:2018-08-02 17:12:54

标签: c++ class struct header-files

我正在尝试在.h文件内的类中添加一个结构,而这是我到目前为止想到的:

//Rectangle.h
#pragma once
#include <bits/stdc++.h>
using namespace std;
class Rectangle
 {
  public:
    Rectangle() ;
    struct recpoints
    {
    double x1, y1, x2, y2, x3, y3, x4, y4;
    };
};


// Rectangle.cpp
#include "Rectangle.h"

Rectangle::Rectangle() {}
Rectangle::recpoints
    {
     recpoints() { x1 = y1 = x2 = y2 = x3 = y3 = x4 = y4 = 0.0; }
    };

现在该代码会产生错误

g++ -c main.cpp Rectangle.cpp
Rectangle.cpp:5:5: error: expected unqualified-id before ‘{’ token 

我不知道该如何解决它以及如何在Rectangle.cpp文件中使用该结构?

1 个答案:

答案 0 :(得分:4)

  1. 您忘了在头文件recpoints()中声明构造函数struct recpoints
  2. recpoints()的定义应为Rectangle::recpoints::recpoints() { /*your code here*/ }(不包含在Rectangle::recpoints{...};中)。