teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

追記質問

2020/08/06 07:14

投稿

__ook
__ook

スコア49

title CHANGED
File without changes
body CHANGED
@@ -28,4 +28,32 @@
28
28
  }
29
29
  ```
30
30
  上記のコードはコメントを記述している部分でエラーとなります。
31
- 使用方法を間違えているのでしょうか。ご教示いただけますと幸いです。
31
+ 使用方法を間違えているのでしょうか。ご教示いただけますと幸いです。
32
+
33
+ [追記]
34
+ maisumakunさんの回答を受けて以下の形に修正しました。
35
+ この形だと構文的には正しいでしょうか?
36
+
37
+ ```cpp
38
+
39
+ std::map<int, std::string> sentence{
40
+ {0, "test sentence1 %s %s %s"}
41
+ };
42
+
43
+ template <class...Args>
44
+ void out_func(const char* format, Args...args) {
45
+ int len = _scprintf(format, args...) + 1;
46
+ std::vector<char> buffer(len * sizeof(char));
47
+ sprintf_s(&buffer[0], len, format, args...);
48
+ std::cout << &buffer[0] << std::endl;
49
+ }
50
+
51
+ template <class...Args>
52
+ void out_func(int code, Args...args) {
53
+ out_func(sentence[code].c_str(), args...);
54
+ }
55
+
56
+ int main() {
57
+ out_func(0, "first", "second", "third");
58
+ }
59
+ ```