2013-07-07 38 views
6

Đây là chính của tôi. Tất cả những gì tôi đang cố gắng làm là tạo ra một đối tượng của tập tin lớp, đây có lẽ là một câu hỏi rất ngớ ngẩn nên xin lỗi, chỉ cần biết tôi đang làm gì sai.Tại sao bạn không tạo đối tượng này? C++

#include <iostream> 
#include "Player.h" 

using std::cout; 
using std::cin; 

int main() 
{ 
    cout << "Hello and welcome to the student adventures game.\n"; 

    Player player1(); 
} 
+2

+1 bởi vì có những người thích downvote hơn giảng dạy. – Theraot

+0

@Theraot: downvote của tôi là để dạy, để dạy rằng đây là một câu hỏi xấu. Làm thế nào để phát hiện ra rằng đối tượng này không được tạo ra? Nó sẽ biên dịch (không thể biết chắc chắn nếu không có 'PLayer.h'), anh ta không bao giờ sử dụng player1, vậy lỗi chính xác là gì? – KillianDS

+7

Đây là bản sao và phải được đóng lại. Tôi là một thiểu số nghĩ rằng chỉ vì một cái gì đó là một bản sao nó không nên được downvoted –

Trả lời

12

Bạn tuyên bố một chức năng mà kiểu trả về Player, thấy most vexing parse

Để xác định một đối tượng, hãy thử cập nhật

Player player1(); 

để

Player player1; 
+4

Downvoter, giải thích plz – billz

+0

ahh, tôi biết nó sẽ là hiển nhiên, cảm ơn rất nhiều bạn đã thực sự giúp tôi ra :) –

+0

@ Benjamin-Cox Xem http://stackoverflow.com/questions/1424510/most-vexing-parse -why-doesnt-aa-work để biết chi tiết – SomeWittyUsername

4

Bạn không nên sử dụng dấu ngoặc đơn khi khai báo một đối tượng không có tham số, hoặc trình biên dịch khác sẽ nghĩ rằng bạn e khai báo một hàm trả về một Player và không có tham số.

+0

Tôi luôn luôn tự hỏi những gì trở lại 0 là cho lol, và có thats đã nhận nó, cảm ơn rất nhiều. –

+3

Hy vọng chỉnh sửa là không sao, tôi đã xóa phần không liên quan (& sai). –

Các vấn đề liên quan