void buffer

Manfred Hansen m.hansen at kielnet.net
Sat Nov 3 11:25:59 PDT 2007


Nathan Reed wrote:

> Manfred Hansen wrote:
>> Hello,
>> 
>> the prorgramm under linux dmd 2.007
>>  
>> import std.file;
>> import std.stdio;
>> 
>> int main() {
>>         string str1 = "Zeile 1\n", str2 = "Zeile 2 \n";
>>         const(void)[] buf;
>> 
>>         buf ~= str1; buf ~= str2;
>>         write("test_neu.txt",buf);
>> 
>>         return 0;
>> }
>> 
>> gives an error:
>> 
>> ~/dd/dmd/src/phobos/std/format.d(1983): variable std.format.formatGeneric
>> (FileWriter!(char),const(           void)[]).formatGeneric.e voids have
>> no value
>> 
>> Have someone an idea to fix this.
>> 
>> manni
> 
> You can't directly write out a void array, the standard library doesn't
> know how to do that since a void array basically means "I don't know
> what the type(s) of this data is/are".  You'll have to cast it to string
> before you can write it.
> 
> Thanks,
> Nathan Reed

This example run with dmd 2.002 . I believe there has someting change
in const/infariant situation. 

The write method in std.file (line 147)  look like 
void write(in string name, const void[] buffer)

This is what i want.

Sincerely manni





More information about the Digitalmars-d-learn mailing list