digitalmars.D - Strange Compile Error when concatenating arrays
- Jeroen Bollen (8/8) Apr 09 2014 When I concatenate arrays like this, I get a strange compile
- Jeroen Bollen (3/11) Apr 09 2014 Oh derp I already figured it out. It still is a strange error
- John Colvin (7/21) Apr 09 2014 Not really. It gives you the expression, tells you the types are
When I concatenate arrays like this, I get a strange compile error: Error: incompatible types for ((cast(int)a) ~ (cast(int)b)): 'int' and 'int' Code: public ubyte[] toArray(ubyte a, ubyte b, ubyte c) { return a ~ b ~ c; }
Apr 09 2014
On Wednesday, 9 April 2014 at 19:35:49 UTC, Jeroen Bollen wrote:When I concatenate arrays like this, I get a strange compile error: Error: incompatible types for ((cast(int)a) ~ (cast(int)b)): 'int' and 'int' Code: public ubyte[] toArray(ubyte a, ubyte b, ubyte c) { return a ~ b ~ c; }Oh derp I already figured it out. It still is a strange error message though.
Apr 09 2014
On Wednesday, 9 April 2014 at 19:39:13 UTC, Jeroen Bollen wrote:On Wednesday, 9 April 2014 at 19:35:49 UTC, Jeroen Bollen wrote:Not really. It gives you the expression, tells you the types are incompatible and tells you what those types were. The reason why you get int is because operations on integral types are promoted to int. public ubyte[] toArray(ubyte a, ubyte b, ubyte c) { return [a, b, c]; }When I concatenate arrays like this, I get a strange compile error: Error: incompatible types for ((cast(int)a) ~ (cast(int)b)): 'int' and 'int' Code: public ubyte[] toArray(ubyte a, ubyte b, ubyte c) { return a ~ b ~ c; }Oh derp I already figured it out. It still is a strange error message though.
Apr 09 2014