[英]C++ Templates: Error while instantiate object
我嘗試使用int Variable實例化一個類模板。 模板類:
template <int N>
class GRAPH {
// ...
}
當我嘗試這樣做時:
GRAPH<100> mygraph;
它工作正常。 但是當我這樣做時:
int maxVertices=100;
GRAPH<maxVertices> mygraph;
我收到以下錯誤:
';'之前的聲明中的無效類型 代幣
有人能幫我嗎?
謝謝
將您的代碼更改為
const int maxVertices=100;
GRAPH<maxVertices> mygraph;
模板參數在編譯時進行評估,因此您只能在此處將常量表達式作為模板參數傳遞。
模板參數在編譯時解析。 由於maxVertices
不是常量,因此在編譯時不知道它的值,因此會出現錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.