質問編集履歴

1

追記質問

2020/08/06 07:14

投稿

__ook
__ook

スコア49

test CHANGED
File without changes
test CHANGED
@@ -59,3 +59,59 @@
59
59
  上記のコードはコメントを記述している部分でエラーとなります。
60
60
 
61
61
  使用方法を間違えているのでしょうか。ご教示いただけますと幸いです。
62
+
63
+
64
+
65
+ [追記]
66
+
67
+ maisumakunさんの回答を受けて以下の形に修正しました。
68
+
69
+ この形だと構文的には正しいでしょうか?
70
+
71
+
72
+
73
+ ```cpp
74
+
75
+
76
+
77
+ std::map<int, std::string> sentence{
78
+
79
+ {0, "test sentence1 %s %s %s"}
80
+
81
+ };
82
+
83
+
84
+
85
+ template <class...Args>
86
+
87
+ void out_func(const char* format, Args...args) {
88
+
89
+ int len = _scprintf(format, args...) + 1;
90
+
91
+ std::vector<char> buffer(len * sizeof(char));
92
+
93
+ sprintf_s(&buffer[0], len, format, args...);
94
+
95
+ std::cout << &buffer[0] << std::endl;
96
+
97
+ }
98
+
99
+
100
+
101
+ template <class...Args>
102
+
103
+ void out_func(int code, Args...args) {
104
+
105
+ out_func(sentence[code].c_str(), args...);
106
+
107
+ }
108
+
109
+
110
+
111
+ int main() {
112
+
113
+ out_func(0, "first", "second", "third");
114
+
115
+ }
116
+
117
+ ```