2016-03-26 20 views
-1
Ben bu diğer parçacığı mantığını takip düşünce

ancak Ben doğru

namespace Geometry { 

class Vector2D { 
    public: 
     Vector2D(float x_, float y_) : x(x_), y(y_) {} 
     float x; 
     float y; 
} 

Vector2D operator+(const Vector2D &lhs, const Vector2D &rhs) { 
    return Vector2D(lhs.x + rhs.x, lhs.y + rhs.y); 
} 

} 

derleme değildir ad işlevlerini bildirmek ve ben

error: no matching constructor for initialization of 'class Vector2D' 
Vector2D operator+(const Vector2D &lhs, const Vector2D &rhs) { 

error: expected ';' after top level declarator 
Vector2D operator+(const Vector2D &lhs, const Vector2D &rhs) { 

böylece hatayı derleyici nasıl alabilirim Operatörün ikili '+' üzerindeki aşırı yükünün bir değişkenin delesyonu olduğunu mu düşünüyorsun?

+4

Sınıf tanımının kapanış ayracından sonra noktalı virgül eksik. –

+3

Soruyu "Ah, bir noktalı virgül eksiksiniz" den önce silmeyi düşünün! cevaplar dökülmeye başladı. – dasblinkenlight

+1

@dasblinkenlight: LOL Ondan da bir kabul aldım –

cevap

3

Bir noktalı virgül eksik!