天天看點

d的實錯誤問題

​​原文​​ 在四個條件下會出錯:

import std.stdio;
import std.datetime;

alias T = real;     // 必須為'real'
enum testCount = 7; // 必須> 6

T foo() {           // 必須傳回值
    return 42;
}

void main() {
    // 必須轉為空.
    const m = benchmark!(() => cast(void)foo)(testCount);
    writeln(m[0].msecs);
}      

然後,輸出為​

​-9223372036854775808​

​等等.

import std.stdio;
//原:import std.datetime;
import std.datetime.stopwatch;

alias T = real;     // 必須為'real'
enum testCount = 7; // 必須> 6

T foo() {           // 必須傳回值
    return 42;
}

void main() {
    // 必須轉為空.
    const m = benchmark!(() => cast(void)foo)(testCount);
    //writeln(m[0].msecs);
//修改為:
    writeln(m[0].total!"msecs");
}      

繼續閱讀