簡體   English   中英

使用 function 返回另一個模板 function C++

[英]Using function return for another template function C++

我正在嘗試使用另一個 function 的返回來調用模板化的 function,但我似乎無法讓它工作。

enum class MYENUM {
    X1,X2
};

MYENUM SomeFunc() {
    return MYENUM::X1;
}

template<MYENUM T>
void ENUMFunc() {
    //do something
}

int main() {
    ENUMFunc<MYENUM::X1>(); //works
    ENUMFunc<SomeFunc()>(); //error?
}

您只能對非類型模板參數的值使用 常量表達式 為此,您需要將SomeFunc標記為constexpr類的

constexpr MYENUM SomeFunc() {
    return MYENUM::X1;
}

現在可以讓您將它用於模板參數,如本實例所示

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM