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

generateCodeTable(int x, int y);

tablelookup(int z);


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

谢谢

最佳答案

有很多方法。您可以使两个函数都采用代码表的参数,并将相同的对象传递给两个函数

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

09-11 19:24