簡體   English   中英

為什么不編譯?

[英]Why isn't this compiling?

我在這里創建了這個課:

//整數矩形類

class AguiRectangle {
    int x;
    int y;
    int width;
    int height;
public:

    bool isEmpty {

        return x == 0 && y == 0 &&
           width == 0 && height == 0;
    }

    int getTop() {
        return x;
    }
    int getLeft() {
        return y;
    }

    int getBottom() {
        return y + height;
    }
    int getRight() {
        return x + width;
    }

    AguiPoint getTopLeft()
    {
        return AguiPoint(getTop(),getLeft());
    }
    AguiPoint getBottomRight()
    {
        return AguiPoint(this->getBottom(),this->getRight());
    }
};

編譯器告訴我x和y以及寬度和高度是未聲明的。 這幾乎就像班級沒有看到自己。

謝謝

Error   14  error C2673: 'getBottomRight' : global functions do not have 'this' pointers    c:\users\josh\documents\visual studio 2008\projects\agui\alleg_5\Agui\AguiBaseTypes.h   178
Error   16  error C2673: 'getBottomRight' : global functions do not have 'this' pointers    c:\users\josh\documents\visual studio 2008\projects\agui\alleg_5\Agui\AguiBaseTypes.h   178
Error   13  error C2665: 'AguiPoint::AguiPoint' : none of the 4 overloads could convert all the argument types  c:\users\josh\documents\visual studio 2008\projects\agui\alleg_5\Agui\AguiBaseTypes.h   174
Error   6   error C2628: 'AguiRectangle' followed by 'int' is illegal (did you forget a ';'?)   c:\users\josh\documents\visual studio 2008\projects\agui\alleg_5\Agui\AguiBaseTypes.h   158
Error   3   error C2473: 'isEmpty' : looks like a function definition, but there is no parameter list.  c:\users\josh\documents\visual studio 2008\projects\agui\alleg_5\Agui\AguiBaseTypes.h   153
Error   5   error C2238: unexpected token(s) preceding ';'  c:\users\josh\documents\visual studio 2008\projects\agui\alleg_5\Agui\AguiBaseTypes.h   156
Error   17  error C2227: left of '->getRight' must point to class/struct/union/generic type c:\users\josh\documents\visual studio 2008\projects\agui\alleg_5\Agui\AguiBaseTypes.h   178
Error   15  error C2227: left of '->getBottom' must point to class/struct/union/generic type    c:\users\josh\documents\visual studio 2008\projects\agui\alleg_5\Agui\AguiBaseTypes.h   178
Error   2   error C2146: syntax error : missing ';' before identifier 'result'  c:\users\josh\documents\visual studio 2008\projects\agui\alleg_5\Agui\AguiBaseTypes.h   64
Error   19  error C2143: syntax error : missing ';' before '}'  c:\users\josh\documents\visual studio 2008\projects\agui\alleg_5\Agui\AguiBaseTypes.h   180
Error   21  error C2079: 'pp' uses undefined class 'AguiPointf' c:\Users\Josh\Documents\Visual Studio 2008\Projects\Agui\Alleg_5\main.cpp   35
Error   8   error C2065: 'y' : undeclared identifier    c:\users\josh\documents\visual studio 2008\projects\agui\alleg_5\Agui\AguiBaseTypes.h   162
Error   9   error C2065: 'y' : undeclared identifier    c:\users\josh\documents\visual studio 2008\projects\agui\alleg_5\Agui\AguiBaseTypes.h   166
Error   7   error C2065: 'x' : undeclared identifier    c:\users\josh\documents\visual studio 2008\projects\agui\alleg_5\Agui\AguiBaseTypes.h   159
Error   11  error C2065: 'x' : undeclared identifier    c:\users\josh\documents\visual studio 2008\projects\agui\alleg_5\Agui\AguiBaseTypes.h   169
Error   12  error C2065: 'width' : undeclared identifier    c:\users\josh\documents\visual studio 2008\projects\agui\alleg_5\Agui\AguiBaseTypes.h   169
Error   10  error C2065: 'height' : undeclared identifier   c:\users\josh\documents\visual studio 2008\projects\agui\alleg_5\Agui\AguiBaseTypes.h   166
Error   4   error C2059: syntax error : 'return'    c:\users\josh\documents\visual studio 2008\projects\agui\alleg_5\Agui\AguiBaseTypes.h   155
Error   18  error C2059: syntax error : '}' c:\users\josh\documents\visual studio 2008\projects\agui\alleg_5\Agui\AguiBaseTypes.h   180
Error   20  error C2059: syntax error : '}' c:\users\josh\documents\visual studio 2008\projects\agui\alleg_5\Agui\AguiBaseTypes.h   180
Error   1   error C2027: use of undefined type 'AguiPointf' c:\users\josh\documents\visual studio 2008\projects\agui\alleg_5\Agui\AguiBaseTypes.h   59

應該

bool isEmpty()

代替

bool isEmpty

你應該使用bool isEmpty() { ... }

我能找到的第一個錯誤是

bool isEmpty {

應該成為

bool isEmpty() const {

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM