Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/162.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 有没有一个简单的方法让它工作_C++ - Fatal编程技术网

C++ 有没有一个简单的方法让它工作

C++ 有没有一个简单的方法让它工作,c++,C++,全部, const std::string foo[]={ 如果() “Test0”, “测试1”, “测试2”, “测试3” }; 我试着让它工作,而不是重复代码 有简单的解决办法吗 蒂亚 我想试着回答一下,但你真的应该把你的问题修改得更具体些 如果要使数组常量,必须在编译时确定初始化值。 这意味着您的条件也必须在编译时进行评估 实现这一点的一个途径是通过宏: const std::string foo[] = { if( <my_condition> )

全部,

const std::string foo[]={
如果()
“Test0”,
“测试1”,
“测试2”,
“测试3”
};
我试着让它工作,而不是重复代码

有简单的解决办法吗


蒂亚

我想试着回答一下,但你真的应该把你的问题修改得更具体些

如果要使数组
常量
,必须在编译时确定初始化值。
这意味着您的条件也必须在编译时进行评估

实现这一点的一个途径是通过宏:

const std::string foo[] = {
    if( <my_condition> )
        "Test0",
    "Test1",
    "Test2",
    "Test3"
};
或者,

您可能需要考虑使用
std::vector
并在运行时构建列表。

您需要更好地解释这一点。用英语解释这应该做什么,这没有多大意义…oo或者使用
std::vector
并尝试将其设置为
constepr
#define CONDITION false

const std::string foo[] = {
    #if CONDITION
        "Test0",
    #endif
    "Test1",
    "Test2",
    "Test3"
};