C++ 超出范围问题

标签 c++ scope

我创建了一个生成代码表的函数和另一个根据传递给它的一些参数执行表查找的函数。例如。

generateCodeTable(int x, int y);

tablelookup(int z);

我刚刚意识到由 generateCodeTable 函数创建的变量超出范围,无法通过 tablelookup() 访问。我可以通过在调用 generateCodeTable 函数之前初始化变量来避免这种情况,但我想知道是否有更优雅的方法来实现它。

谢谢

最佳答案

方法有很多种。您可以让两个函数都接受一个参数,即代码表,并将相同的对象传递给两个函数

或者您可以创建一个 CodeTable 类,其中包含数据并在其构造函数中执行 generateCodeTable 功能,并具有一个 lookup 成员函数执行 tablelookup 功能。

关于C++ 超出范围问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4584406/

相关文章:

c++ - 引用计数在 shared_ptr 中不起作用

c++ - 在 C++ 中的进程之间共享 CGAL 的几何结构

c++ - 在左值和右值情况下重载下标运算符 "[ ]"

c++ - spirit 解析器输出中的附加符号

java - 另一个与 main 方法中的变量交互的类

ruby-on-rails - 在 Rails 范围内排除 id

while-loop - while 循环外部定义的变量未在内部定义?

c++ - dynamic_cast 在三级继承的情况下导致分段冲突

C++ 移动构造函数和作用域