> Say I pass an object of a class (reference value I suppose) to a
> method, and I want to pass it by reference. Do I need to preappend
> it with ref.
>
> public interface IFoo{}
>
> public class Foo:IFoo{
>
> }
>
> void FromHere()
> {
>
> Foo f=new Foo();
> Here(ref f);
>
> }
>
> void Here(ref IFoo f )
> {
> //do something with f
> }
>
> Is ref redundant or error-prone. In my scenerio I have a lot of
> overload for Here-like function,
> and compiler screams that it cannot convert IFoo to char (latter
> beeing void Here(ref char c) )
>
This usage of ref is not part of standard C++. If a function takes an
argument by reference that argument is marked as a reference like this:
void Here(IFoo& f)
and it's called with the object:
Foo f;
Here(f);
Note that this is different from what the above code is doing, since
Foo f= new Foo() creates a pointer. I have no idea what the meaning of
those 'ref' decorations is.
--
Pete
Roundhouse Consulting, Ltd. (www.versatilecoding.com) Author of "The
Standard C++ Library Extensions: a Tutorial and Reference
(www.petebecker.com/tr1book)
> Say I pass an object of a class (reference value I suppose) to a method,
> and I want to pass it by reference. Do I need to preappend it with
> ref.
>
> public interface IFoo{}
>
> public class Foo:IFoo{
>
> }
>
> void FromHere()
> {
>
> Foo f=new Foo();
> Here(ref f);
>
> }
>
> void Here(ref IFoo f )
> {
> //do something with f
> }
>
> Is ref redundant or error-prone. In my scenerio I have a lot of
> overload for Here-like function,
> and compiler screams that it cannot convert IFoo to char (latter
> beeing void Here(ref char c) )
>
Are your sure this is C++? Most likely CLI/C++ or some
other Microsoft managed version.
--
OU
Remember 18th of June 2008, Democracy died that afternoon.
http://frapedia.se/wiki/Information_in_English
Guys, It's csharp. I accidentally post this question here. It's now
reposted to the appropriate group.