将 main 中的变量值更改为可用于其他函数 (c++)
Changing the value of a variable in main to be available for other functions (c++)
>我声明这一点:
int xstartoftable;
void drawframe();
int main()
{
int xstartoftable = 80-TLENGTH;
drawframe();
return 0
}
void drawframe();
{
gotoXY(xstartoftable - 1, ystartoftable - 1);
}
问题是当我调试时,xstartoftable 的值是随机的,不等于 main(( 中的值。代码超过 150 行,这只是需要的部分。
这是因为你在 main 中重新声明了你的变量。
int main()
{
int xstartoftable = 80-TLENGTH; //extra declaration here
drawframe();
return 0;
}
相反,只需执行以下操作:
int main()
{
xstartoftable = 80-TLENGTH; //leave out declaration
drawframe();
return 0;
}
这类似于:
int main()
{
int x = 0;
{
int x = 1;
}
printf("%d",x);
//will print 0
}
在某些编译器上,您甚至可能会收到错误。
>int xstartoftable = 80-TLENGTH;
声明了一个不同的xstartoftable
,它隐藏了全局。 G++有一个方便的-Wshadow
警告来捕捉这些东西。
您希望改为xstartoftable = 80-TLENGTH;
分配。
相关文章:
- 程序没有问 3 个问题,而是将我对第一个问题的回答用于其他两个问题
- 用于对项目进行分组并将单个项目映射到其他组成员的数据结构
- 将其他函数中的变量用于主函数C++
- 相同的 for 循环适用于其他项目,但不适用于此项目。为什么?
- 在Visual Studio中包括用于其他PC的库
- 在 Eclipse 中漂亮的打印C++适用于某些项目,而不适用于其他项目
- 在一个类中向向量添加元素不适用于其他类
- openssl 是否需要熵用于生成证书和密钥以外的其他目的?
- 如何将用于创建文件的文件的路径提供给C++中的其他文件夹
- 重载流<<运算符,用于指针/共享指针和其他类型的
- COUT不适用于我的其他Turbo C 合并
- (C )正在创建专门用于处理所有其他自定义对象的类/对象一种处理项目的正确方法
- complex.h 适用于 Win32 目标以外的其他编译器,例如代码编辑器工作室 (CCS)
- 适用于 VIM 的 YouCompleteMe 插件 - 如何支持其他库方法的自动完成?(例如OpenMPI)
- 访问void函数中的变量以用于其他函数?C++
- 现代C和C :可以将一个定义的结构用于其他声明的结构
- 如果您称为destructor并将分配的内存再次用于其他对象,会发生什么
- 如何使C枚举类型可用于其他语言
- 提取模板类中的类型以用于其他模板
- 函数模板可用于本地lambda,但不能用于其他函数