Scope variables.
Agustin
agustin.l.alvarez at hotmail.com
Mon Oct 7 15:52:19 PDT 2013
On Monday, 7 October 2013 at 19:59:09 UTC, Agustin wrote:
> On Monday, 7 October 2013 at 19:58:21 UTC, Agustin wrote:
>> I'm having a hard time trying to use "scoped".
>>
>> public T callEvent(T, A...)(auto ref A args) const
>> {
>> T pEvent = scoped!T(forward!args);
>> postEvent(pEvent, typeid(T).toHash);
>> return pEvent;
>> }
>>
>> private void postEvent(ref Event event, Event.ID type) const
>> {
>> ....
>> }
>>
>> src\event\EventManager.d(37): Error: function
>> ghrum.event.EventManager.EventManager.postEvent (ref Event
>> event, uint type) const is not callable using argument types
>> (MyEvent,uint)
>> src\event\EventManager.d(37): Error: function
>> ghrum.event.EventManager.EventManager.postEvent (ref Event
>> event, uint type) const is not callable using argument types
>> (MyEvent,uint) const
>> src\event\EventManager.d(37): Error: cast(Event)pEvent is not
>> an lvalue
>
>
> callEvent!MyEvent(); Being MyEvent a subclass of Event.
So i found out that i cannot do this, may i ask why?
public class A
{
int x = 0;
}
public class B : A
{
}
void func(ref A a)
{
}
void main()
{
B b = new B();
func(b);
}
More information about the Digitalmars-d-learn
mailing list