Member function pointers

Maxim Fomin maxim at maxim-fomin.ru
Mon Jun 10 06:26:26 PDT 2013


On Monday, 10 June 2013 at 12:53:34 UTC, Jacob Carlborg wrote:
> On 2013-06-10 14:36, Manu wrote:
>> funcptr pretends to be typed, but the type is just wrong. In 
>> your
>> example, the type is 'void function()', it should be 'void 
>> function(Foo
>> this)'.
>
> "void function()" is part of the complete type. It becomes 
> complete with the context pointer.

I wouldn't say so. The fact that you pass context has nothing to 
do with determining type. For example, you can pass A class 
instead of B to B method, but B method would still keep its 
original type.

So yes, there is a type problem in language when function taking 
some parameter is declared as having no such parameter. This is a 
serious hole in type system.



More information about the Digitalmars-d mailing list