回答編集履歴
1
質問文更新に合わせて更新
answer
CHANGED
@@ -1,4 +1,15 @@
|
|
1
|
+
```cpp
|
1
|
-
|
2
|
+
void FrameWork::Text::ReFormatString(const char* font, int size, const char* str,
|
3
|
+
...) {
|
4
|
+
...
|
5
|
+
*fixationText = getTexture(str);
|
6
|
+
```
|
2
7
|
|
8
|
+
可変長引数を `getTexture()` に渡していないのですから、まともに動くはずないですよね。
|
9
|
+
|
10
|
+
---
|
11
|
+
|
12
|
+
「可変長引数を持つ関数 `ReFormatString(font, size, const char* format, ...)` の中で、可変長引数を持つ別の関数 `getTexture(const char* format, ...)` を呼ぶことはできるか?」という問題であるなら、私の記憶が確かならまともな方法では不可能だった気がします。
|
13
|
+
|
3
|
-
そういう場合は、`
|
14
|
+
そういう場合は、`getTexture()` の引数を `getTexture(const char* format, va_list)` に変更すれば良いです。
|
4
|
-
どうしても `
|
15
|
+
どうしても `getTexture(const char* format, ...)` も必要な場合は、両方定義して `getTexture(const char* format, ...)` から `getTexture(const char* format, va_list)` を呼べばよいのです。
|