Hi
I've learned the D language for a few days.
I've worked in other languages before.
But now I have following problems:

First:

import std.stdio;

double add(double param[] ...) {
        double result = 0;
        foreach(double d; param) {
                result += d;
        }
        return result;
}

int main() {
        double zahl;
        zahl = add(2, 5.6, 7.8);
        writefln("%d", zahl);
        return 0;
}

___________________________________________________________

Second:

import std.stdio;
import std.format;

int main() {
        double zahl = add(1, 5.6, 41, "Hello");
        writefln("%d", zahl);
        return 0;
}

double add(...) {
        double result = 0;
        for(int i=0; i < _arguments.length; i++) {
                if(_arguments[i] == typeid(double)) {
                        double var = *cast(double*)_argptr;
                        result += var;
                        _argptr += double.sizeof;
                } else if(_arguments[i] == typeid(float)) {
                        float var = *cast(float*)_argptr;
                        result += var;
                        _argptr += double.sizeof;
                } else if(_arguments[i] == typeid(int)) {
                        int var = *cast(int*)_argptr;
                        result += var;
                        _argptr += int.sizeof;
                } else if(_arguments[i] == typeid(bool)) {
                        _argptr += bool.sizeof;
                } else if(_arguments[i] == typeid(char[])) {
                        char[] var = *cast(char[]*)_argptr;
                        _argptr += var.sizeof;
                }
        }
        return result;
}

When I try to run this codes there is printed following message in the cmd:

Error: std.format floating

Please help me. I have no idea.

Greetings
Fabian Claßen

Reply via email to