6
我正在使用visual studio 2012和上述錯誤彈出窗口。我的代碼是正確的,但似乎編譯器限制爲7個參數。我能做什麼如果我想傳遞7個參數?'std :: thread :: thread':沒有重載的函數需要7個參數
我可以通過一個結構,但如果可能的話最好不要改變我的代碼。
我正在使用visual studio 2012和上述錯誤彈出窗口。我的代碼是正確的,但似乎編譯器限制爲7個參數。我能做什麼如果我想傳遞7個參數?'std :: thread :: thread':沒有重載的函數需要7個參數
我可以通過一個結構,但如果可能的話最好不要改變我的代碼。
VS2012不完全支持可變模板。另請參閱此博客文章:http://blogs.msdn.com/b/vcblog/archive/2011/09/12/10209291.aspx
通過定義此宏_VARIADIC_MAX
,可以將參數的最大數量設置爲10。
所以才這樣做#define _VARIADIC_MAX 10
。
的默認值是5,2個標準參數+ 5分可變參數爲標準::螺紋的。總體而言,您可以通過設置上面的值來傳遞多達12個參數。
如果我增加值,是否有缺點?此外,這是固定在VS2013? – Luka
@Luka:編譯時間增加。我想象編譯器對一些預定義的宏使用一些技巧來讓事情起作用。 VS2013完全支持可變模板。 – Robin
我明白了,非常感謝! – Luka