我试图使用std::for_each()而不是正常的for循环作为练习,但我无法将成员函数传递给for_each().
这是代码:
class Class
{
public :
void func (int a)
{
cout << a * 3 << " ";
}
}ob1;
int main()
{
int arr[5] = { 1, 5, 2, 4, 3 };
cout << "Multiple of 3 of elements are : ";
for_each(arr, arr + 5, ob1);
}
Run Code Online (Sandbox Code Playgroud)
仅当该成员函数为 时它才起作用void operator() (int a)。我不知道为什么不能传递任何其他成员函数for_each()!
我通过终端打开 SWI-Prolog,使用Swipl -s prolog_file. 然而,每次我向 Prolog 源文件添加新事实并保存时,我都必须在终端上重新启动 SWI-Prolog 以使其注意到更改。
我认为CTRL + s在 Prolog 源文件上使用足以让 SWI-Prolog 注意到更改,但事实并非如此。
在Windows上有一个带有编译按钮的Prolog编辑器,当你编译文件时,SWI-Prolog会注意到这些变化,但我使用的是Kali Linux,所以我在文本编辑器上编写。
如何让 SWI-Prolog 注意到这些变化?