August 13, 2011 Read property using std.stream.Stream.read | ||||
---|---|---|---|---|
| ||||
Hi guys, I'm trying to read a property of a class like: class MyClass { private ubyte pToRead; @property ubyte toRead() { return pToRead; } } ... File f = new File(...); MyClass c = new MyClass(); f.read(c.toRead); ... but when I compile my code, I always get: executable.d(389): Error: function std.stream.Stream.read (ubyte[] buffer) is not callable using argument types (ubyte) executable.d(389): Error: cannot implicitly convert expression (c.toRead()) of type ubyte to wchar[] |
August 13, 2011 Re: Read property using std.stream.Stream.read | ||||
---|---|---|---|---|
| ||||
Posted in reply to nrgyzer | == Auszug aus nrgyzer (nrgyzer@gmail.com)'s Artikel
> Hi guys,
> I'm trying to read a property of a class like:
> class MyClass {
> private ubyte pToRead;
> @property ubyte toRead() { return pToRead; }
> }
> ...
> File f = new File(...);
> MyClass c = new MyClass();
> f.read(c.toRead);
> ...
> but when I compile my code, I always get:
> executable.d(389): Error: function std.stream.Stream.read (ubyte[]
> buffer) is not callable using argument types (ubyte)
> executable.d(389): Error: cannot implicitly convert expression
> (c.toRead()) of type ubyte to wchar[]
Answering my own question ;D - I solved it by adding "ref" to my property like:
@property ref ubyte toRead() { return pToRead; }
|
Copyright © 1999-2021 by the D Language Foundation