opCall() in structures

Jesse Phillips jessekphillips at gmail.com
Sun Dec 9 18:02:06 PST 2007


On Sun, 09 Dec 2007 22:02:53 +0100, Mike wrote:

> On Sun, 09 Dec 2007 21:42:44 +0100, Jesse Phillips
> <jessekphillips at gmail.com> wrote:
> 
> You need to have the function bodies somewhere too of course:
> 
> struct F
> {
> 	int opCall() { return 42; }
> }
> 
> -Mike
> 
>> Trying out the example code for opCall and I get a linker error in
>> linux. (dmd 1.024)
>>
>> struct F
>> {
>>     int opCall();
>>     int opCall(int x, int y, int z);
>> }
>>
>> void test()
>> {   F f;
>>     int i;
>>
>>     i = f();     	// same as i = f.opCall(); i = f
(3,4,5);	// same as i
>>     = f.opCall(3,4,5);
>> }
>>
>> void main() {
>>     test()
>> }

Yeah, good idea, thanks.


More information about the Digitalmars-d-learn mailing list