【发布时间】:2019-12-06 06:27:55
【问题描述】:
我对 C++ 中的结构和 if 语句有疑问
为了简单起见,我创建了一个示例代码来解释我的意图
int var = 10
struct example{
int a;
int b;
if(var > 8){
int c;
}
};
我有一个代码库,它使用与上面类似的代码。注释掉 if 部分不会给出任何错误。 我的问题是
- 是否可以将 if 语句放入结构声明中?
- 如果不是,有什么可能的补救措施,因为如果声明是强制性的。
注意:我无法使用#if、#else 指令、std::optional 或其他标准库来缓解这种情况,所以请帮我找到另一个解决方案。
【问题讨论】:
-
C 和 C++ 是不同的语言。仅使用适合您使用的语言的标签。 (因为标题提到了 C++ 而不是 C,所以我更喜欢 C++。)
-
“一个使用与上面类似的代码的代码库” - 它有多“相似”,更重要的是它是否符合您的要求?如果是这样,有什么理由不遵循这种模式吗?
-
那应该怎么做?它甚至不编译,所以是的,它给出了“错误”。即使这有任何意义,
int c显然也在if的范围内,然后就消失了。 -
“我不能使用该语言提供的技术来做到这一点”......不确定你期待什么样的答案
标签: c++ if-statement struct preprocessor-directive