我已经删除了所有的构造函数,即使下面的代码运行良好。如何以及为什么?
class Ax
{
public:
Ax() = delete;
Ax(Ax const&)=delete;
Ax(Ax&&)=delete;
void operator=(Ax const&)=delete;
void operator=(Ax&&)=delete;
void print()
{
cout << "Hello \n";
}
};
int main(int argc, char** argv)
{
Ax{}.print();
return 0;
}
Run Code Online (Sandbox Code Playgroud) 我想从我的 kotlin 脚本文件中分离出一些通用代码,以便可以重用它。
我这样做了:
// MyLib.kt
package myLib
fun say_hello(name : String)
{
println("hello $name")
}
Run Code Online (Sandbox Code Playgroud)
我编译这个文件来创建一个 jar 文件:
kotlinc myLib.kt -include-runtime -d myLib.jar
Run Code Online (Sandbox Code Playgroud)
然后我创建了一个脚本文件:
// myScript.kts
import myLib.*
say_hello("Arvind")
Run Code Online (Sandbox Code Playgroud)
但我无法编译脚本文件,因为它既不识别 myLib 包也不识别 say_hello() 函数。
执行此操作的正确方法是什么。
问题更新: 我正在使用 kscript 来运行我的脚本。打字很多,例如,
kotlin -cp myLib.jar myScript.kts
Run Code Online (Sandbox Code Playgroud)
每次我都必须运行脚本,从而破坏了使用 kscript 的动机。
有没有什么方法可以让我不必每次命令行都给出 jar 的路径。相反,我想以 kscript 的方式使用它,即
./myScript
Run Code Online (Sandbox Code Playgroud)