我创建了一个生成代码表的函数和另一个根据传递给它的一些参数执行表查找的函数。例如。
generateCodeTable(int x, int y);
tablelookup(int z);
我刚刚意识到由 generateCodeTable 函数创建的变量超出范围,无法通过 tablelookup() 访问。我可以通过在调用 generateCodeTable 函数之前初始化变量来避免这种情况,但我想知道是否有更优雅的方法来实现它。
谢谢
最佳答案
方法有很多种。您可以让两个函数都接受一个参数,即代码表,并将相同的对象传递给两个函数
或者您可以创建一个 CodeTable
类,其中包含数据并在其构造函数中执行 generateCodeTable
功能,并具有一个 lookup
成员函数执行 tablelookup
功能。
关于C++ 超出范围问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4584406/