Template function alias that leaves out the last type parameter
rassoc
rassoc at posteo.de
Wed Sep 28 19:31:41 UTC 2022
On 9/28/22 18:47, torhu via Digitalmars-d-learn wrote:
> It works like writefln, so that example would not compile. I forgot to make the format string explicit, I probably should have done that.
>
> ```
> private template _messageBox(string title, int style)
> {
> void _messageBox(T...)(T args)
> {
> messageBox(format(args), title, style);
> }
> }
> ```
If you want to pass a message, why bother with varargs? Wouldn't it be simpler to just accept a formatted string?
```d
import std;
void messageBox(string title, int style)(string msg) {
guiMessageBox(msg, title, style);
}
alias info = messageBox!("Info", 4);
alias warn = messageBox!("Warning", 4);
alias err = messageBox!("Error", 4);
void main() {
info("ok ok");
warn(5.iota.format!"%(%s, %)");
}
```
More information about the Digitalmars-d-learn
mailing list