2013-07-07 5 views
6

ここは私のメインです。私がしようとしているのは、クラスファイルのオブジェクトを作成することだけです。これはおそらく非常にノービスな質問です。申し訳ありませんが、私が間違っていることを知る必要があります。なぜこのオブジェクトは作成されませんか? 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教えることを嫌う人がいるからです。 – Theraot

+0

@Theraot:私のdownvote教えて、これは悪い質問だったことを教えていた。このオブジェクトが作成されていないことを彼はどのように検出しますか?コンパイルする必要があります(PLayer.hを使わないと確実に分からない)、player1を使用していないので、正確なエラーは何ですか? – KillianDS

+7

これは複製であり、クローズする必要があります。私は何かが重複していると思う少数派であるので、それは下降してはいけません。 –

答えて

12

あなたは、あなたが使うべきではありません

Player player1; 
+4

Downvoter、説明plz – billz

+0

ああ、私はそれが明らかであることを知っていた、多くのおかげで本当に私を助けてくれた:) –

+0

@ Benjamin-Cox See http://stackoverflow.com/questions/1424510/most-vexing-parse -why-doesnt-aa-work詳細については – SomeWittyUsername

4

Player player1(); 

を更新しようと、プレイヤーの型を返す関数で、オブジェクトを定義するにはmost vexing parse

を参照してくださいを宣言パラメタなしでオブジェクトを宣言するときは括弧で囲みます。そうでなければコンパイラはあなたのことを考えますeは、Playerを返す関数を宣言し、それはパラメータをとらない。

+0

私はいつもリターン0が何のためのものかと思っていました。 –

+3

編集がうまくできたら、無関係な部分を削除しました。 –