问题标签 [private-functions]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4348 浏览

kotlin - 如何从 Kotlin 中的类外部调用类的私有函数

我想SomeClass从这个类之外调用一个类的私有函数:

在代码的某处,我引用了SomeClass对象:

如何从类外调用 Kotlin 中带参数和不带参数的私有函数?

0 投票
2 回答
71 浏览

javascript - Javascript 私有函数辅助

我在掌握如何将 javascript 函数/变量设为私有时遇到问题。我需要如何编辑它以使函数/变量像这样私有。

0 投票
2 回答
107 浏览

c++ - 如何在宏中使用私有函数?

我想创建一个宏(获取行号、函数名和文件名),然后将这些东西转发给另一个函数,但该函数必须是私有的,但问题是我不能在宏中使用私有函数。

例如,假设这个 C++ 类在我的头文件中:

然后在执行之后,错误出现了 foo 不可访问,这很明显,但是我能做些什么吗?喜欢使用 Friend 关键字或其他什么?

这样做的目的是,当发生异常(用户定义)时,我想打印发生异常的行号,并且我不希望用户使用 foo 函数,这就是它私有的原因。我发现您可以使用宏将行号传递给其他函数。另外,假设我的头文件中存在临时类。而且,我正在使用另一个 C++ 文件中的宏函数。

任何帮助将不胜感激。

编辑: 似乎上面的解释不太好解释我需要什么,我想要的是,我创建了我的头文件,我在其中创建了一个类,其中的函数很少,但是有一个函数有相当多的机会抛出异常,当我通过包含头文件来使用该函数时,我想知道在哪一行,在哪个函数中发生了异常,这就是为什么我要创建该函数的宏name 然后扩展为另一个函数,该函数还有三个参数(函数、文件和行),但我不希望用户使用这个其他函数,因为这些参数并不是我函数的一部分,它们只是打印错误. 所以,这就是为什么我将这个函数保持为私有,这样用户就无法访问它。我不一个类的私有函数与否?

我对此进行了很多搜索,我认为这是不可能的。但也许我错过了什么?

或者,如果这是不可能的,那么还有其他方法可以打印调用函数的行号,因为如果使用__LINE__它将打印该行号,而不是调用函数的行号。例如,假设有一个函数 fun() 在第 5 行有一个代码ascout<<__LINE__<<endl;并且我在第 15 行从 main 调用这个函数 fun() ,但是当它被调用时,它会打印 5,这不是错了,但我不想打印 5,我想在调用函数的地方打印 15。所以,如果有任何其他方法可以实现这一点,请告诉我。