Thread overview | |||||
---|---|---|---|---|---|
|
February 12, 2005 Help with a strange error with delegates | ||||
---|---|---|---|---|
| ||||
Hi! I really cannot get out of this. I've got a class with a constructor declared as: this(int delegate(int, int, int, int, int) dg, int startx, int starty) which is instanciated by another class, with the following statement: player = new attore(&urubamba, 2*tilesize, 2*tilesize); urubamba is a member of this new class which is declared as: int urubamba(int where, int altox, int altoy, int bassox, int bassoy) But when I try to compile, I got the following message: map21.d(170): constructor map21.attore.this (int delegate(int,int,int,int,int)bamboleio,int startx,int starty) does not match argument types (int(*)(int where,int altox,int altoy,int bassox,int bassoy),int,int) map21.d(170): cannot implicitly convert expression #urubamba of type int(*)(int where,int altox,int altoy,int bassox,int bassoy) to int delegate(int,int,int,int,int) Why urubamba is int(*)?and why # and not &? I checked with other encoding, but the result is the same... I really cannot understand... thanks in advance! Carotinho |
February 13, 2005 Re: Help with a strange error with delegates | ||||
---|---|---|---|---|
| ||||
Posted in reply to Carotinho | Carotinho wrote:
[...]
> map21.d(170): constructor map21.attore.this (int
> delegate(int,int,int,int,int)bamboleio,int startx,int starty) does
> not match argument types (int(*)(int where,int altox,int altoy,int
> bassox,int bassoy),int,int)
`ìnt(*)' means that the reference to `urubamba' is a function reference.
Seems that line 170 of map21.d is in the body of the other class and not in the body of a function member of the other class.
Within the body of the class the reference to `urubamba' is a function reference. Within the body of a function member the reference to `urubamba' is a delegate reference.
-manfred
|
February 13, 2005 Re: Help with a strange error with delegates | ||||
---|---|---|---|---|
| ||||
Posted in reply to Manfred Nowak | Hi!
> Within the body of the class the reference to `urubamba' is a function reference. Within the body of a function member the reference to `urubamba' is a delegate reference.
I've understood!
Indeed it was a silly error: I accidentally left out urubamba from the
class, while editing the file! :) Shame on me:)
thanks a lot!
Carotinho
|
Copyright © 1999-2021 by the D Language Foundation