Thank you for the reply. However, I've run into another problem.

I changed:

-----------

char * file;

this()
{
this.filename = "test.bmp";
}

---------------

To:

----------------

char * file

this()
{
this.filename = toStringz("test.bmp");
}

-----------------------

I am getting this error:

Error 1 Error: cannot implicitly convert expression (toStringz("test.bmp")) of type immutable(char)* to char* D:\Documents\Projects\Test\Test\DPBall.d 10

Instead I tried toUTFz, which I used like this:

--------------------------

        char * filename;
        
        this()
        {
                this.filename = toUTFz("test.bmp");
        }

--------------------------

I get these errors:

Error 1 Error: template std.utf.toUTFz(P,S) if (isSomeString!(S) && isPointer!(P) && isSomeChar!(typeof(*P.init)) && is(Unqual!(typeof(*P.init)) == Unqual!(ElementEncodingType!(S))) && is(immutable(Unqual!(ElementEncodingType!(S))) == ElementEncodingType!(S))) does not match any function template declaration D:\Documents\Projects\Test\Test\DPBall.d 11

Error 2 Error: template std.utf.toUTFz(P,S) if (isSomeString!(S) && isPointer!(P) && isSomeChar!(typeof(*P.init)) && is(Unqual!(typeof(*P.init)) == Unqual!(ElementEncodingType!(S))) && is(immutable(Unqual!(ElementEncodingType!(S))) == ElementEncodingType!(S))) cannot deduce template function from argument types !()(string) D:\Documents\Projects\Test\Test\DPBall.d 11


Am I using these functions incorrectly?

Reply via email to