我需要使用与模板参数相同类型的元素列表,因此我使用的是向量,但我不确定如何使这项工作
#include <iostream>
#include <cstdint>
#include <vector>
template <uint8_t VAL>
void foo()
{
std::cout << "__" << std::endl;
};
template <>
void foo<3>()
{
std::cout << "OK" << std::endl;
};
int main()
{
std::vector<uint8_t> v = { 2, 4, 5, 2, 3, 55 };
for (auto &k : v) {
foo<k>();
}
return (0);
}
编译器基本上抱怨k
not being a constant expression
,问题是我不知道如何修改它以使其工作,我需要一些数据结构来迭代,所以我需要保留向量,我需要一个模板来简化我的生活,所以我看到的越多,我就越觉得自己陷入了无限循环。