c++ - 调用 change_global() 函数后在 main() 中接收错误值
问题描述
这段代码和我正在使用的书中写的完全一样,但是书中的例子表明 main() 中的第三个 cout 实例应该提供整数 -10。相反,它提供了 10。为什么我的程序没有在 change_global() 函数中提供给“glob”的实际值?我知道这本书已经过时了,它是《Beginning C++ through Game Programming》的第 4 版。
int glob = 10; // global variable
void access_global();
void hide_global();
void change_global();
int main()
{
cout << "In main() glob is: " << glob << "\n\n";
access_global();
hide_global();
cout << "In main() glob is: " << glob << "\n\n";
change_global();
cout << "In main() glob is: " << glob << "\n\n";
return 0;
}
void access_global()
{
cout << "In access_global() glob is: " << glob << "\n\n";
}
void hide_global()
{
int glob = 0;
cout << "In hide_global() glob is: " << glob << "\n\n";
}
void change_global()
{
int glob = -10;
cout << "In change_global() glob is: " << glob << "\n\n";
}
解决方案
由退隐忍者发表
“我正在查看从这里下载的书的源代码:delmarlearning.com/companions/content/1305109910/datafiles/... 它与您键入的内容不一样,有一个名为 glob 的全局变量,它由 change_global 函数更改。从 int glob = -10 中删除 int;– 38 秒前退休的忍者”
这解决了我的问题,谢谢大家的帮助!
推荐阅读
- python - Django 像用户表单一样轮询应用程序管理员
- python - 为什么 Pandas DataFrame Index 的副本保持依赖?
- javascript - 在函数中使用后保留参数的值
- r - 并排粘贴 2 个数据框,无需任何键
- sas - 如何在 SAS 中自定义箱线图?
- swift - 快速初始化嵌套字典
- node.js - Google Api 服务帐户 "error":"invalid_grant","error_description":"无效的 JWT 签名。"
- google-bigquery - BigQuery 传输与 BigQuery 负载
- flutter - 如何在 Flutter 中重新加载包含新内容的页面?
- c# - MongoDB C# Methode 搜索文档(T 型文档)