Thread overview | |||||
---|---|---|---|---|---|
|
June 19, 2007 DMD 2.0 void[] | ||||
---|---|---|---|---|
| ||||
Hello, import std.file; import std.stdio; int main() { string str1 = "Zeile 1\n", str2 = "Zeile 2 \n"; void[] buf; buf ~= str1; buf ~= str2; write("test_neu.txt",buf); return 0; } How must i change the line void[] buf ? I can make buf ~= str1.dup , but i didn't understand why dup in dmd 2.0 is needed. Thanks |
June 19, 2007 Re: DMD 2.0 void[] | ||||
---|---|---|---|---|
| ||||
Posted in reply to nobody | nobody wrote: > Hello, > > import std.file; > import std.stdio; > > int main() { > string str1 = "Zeile 1\n", str2 = "Zeile 2 \n"; > void[] buf; > > buf ~= str1; buf ~= str2; > write("test_neu.txt",buf); > > return 0; > } > > How must i change the line void[] buf ? > const(void)[] buf, because "string" is const(char)[]. -- Remove ".doesnotlike.spam" from the mail address. |
June 19, 2007 Re: DMD 2.0 void[] | ||||
---|---|---|---|---|
| ||||
Posted in reply to Deewiant | Deewiant wrote:
> nobody wrote:
>> Hello,
>>
>> import std.file;
>> import std.stdio;
>>
>> int main() {
>> string str1 = "Zeile 1\n", str2 = "Zeile 2 \n";
>> void[] buf;
>>
>> buf ~= str1; buf ~= str2;
>> write("test_neu.txt",buf);
>>
>> return 0;
>> }
>>
>> How must i change the line void[] buf ?
>>
>
> const(void)[] buf, because "string" is const(char)[].
It shouldn't matter for an append operation unless the const array contains class references. Though I suppose the current rule is more clear.
Sean
|
Copyright © 1999-2021 by the D Language Foundation