PDA

Tam Sürümünü Görmek İçin : dice.cpp programimda neden hata mesaji aliyorum?


Lewissi
22/09/2005, 21:11
#include<iostream>
#include<cstring>
using namespace std;
using std::string;
class Dice{
private:
int val;
public:
Dice(int in=0)
{
val=in;
}
~Dice(){
}
void roll(){
val=rand();
cout<<val<<endl;
}
};
int main()
{
// zar sinifini argumansiz cagirinca
// request for member `roll' in `zar', which is of non-aggregate type
//`Dice ()()'
// diye hata veriyor. bu ne demek?
Dice zar();
zar.roll();
return 0;
}


acehreli
22/09/2005, 21:36
1) rand icin <stdlib.h> (veya <cstdlib>) basligi gerekiyor

2) <cstring>'i degil, <string>'i eklemek istiyor gibisin; yoksa 'using std::string;' satiri calismaz.

3) "Dice zar();" yazdigini zaman, hicbir parametre almayan ve Dice dOndUren bir islev bildirmis oluyorsun; "Dice zar;" olarak degistirebilirsin. (Hemen hemen herkesin basina gelmis bir hatadir :) )

Ali