假设你有一个命名空间
approvedParams {
std::string s1 = "my_string_input_1";
std::string s2 = "my_string_input_2";
}
在范围之外approvedParams
存在一个函数myfun(std::string parm1)
是否可以将myfun
签名限制为仅接受命名空间中的类型std::string
字段approvedParams
?
那是:
myfun("my_string_input_1")
不会编译。
myfun(approvedParams::s1)
将编译。
我正在考虑使用enum
. 但是,我最终想要使用approvedParams::s1
以及s2
在解析键值配置文件时。enum
必须是整数类型。我没有兴趣添加另一个不必要的层map<int,std::string>
来将枚举整数与std::string
.