小编Edd*_*his的帖子

Prolog - 参数没有充分实例化

我正在写一个小程序,它计算列表中有多少元素不是数字.这是我的代码:

not_number([],0).
not_number([X|T],R):- 
    not(number(X)),
    R1 is R+1,  
    not_number(T,R1). 

not_number([_|Tail],Result):-
    not_number(Tail,Result).  
Run Code Online (Sandbox Code Playgroud)

如果我执行这样的代码:

?- not_number([1,2,3,5], R).
Run Code Online (Sandbox Code Playgroud)

我得到R = 0(应该是)

R = 0.
Run Code Online (Sandbox Code Playgroud)

但是,如果我在列表中放置一个字符:

?- not_number([1,2,3,5,a], R).
Run Code Online (Sandbox Code Playgroud)

然后我收到这个错误:

ERROR: not_number/2: Arguments are not sufficiently instantiated
   Exception: (10) not_number([a], _G247) ? 
Run Code Online (Sandbox Code Playgroud)

有人能解释代码有什么问题吗?我是prolog的新手.

arguments prolog clpfd instantiation-error

18
推荐指数
2
解决办法
4万
查看次数

在Go Lang中通过通道传递指针

可以在go lang中将指针传递到通道上吗?我需要传递struct,对其进行更改并在struct传递的相同函数中进行更改?

我试过了

chan <- &data
Run Code Online (Sandbox Code Playgroud)

我得到了

# command-line-arguments .\o.go:130: cannot use &duom[i] (type *KaVartoti) as type KaVartoti in send
Run Code Online (Sandbox Code Playgroud)

在此之后我尝试了

chan <- *data
Run Code Online (Sandbox Code Playgroud)

我得到了

# command-line-arguments .\o.go:130: invalid indirect of duom[i] (type KaVartoti)
Run Code Online (Sandbox Code Playgroud)

那么,可以通过Go中的通道发送指针吗?

pointers channel go lang

13
推荐指数
1
解决办法
2万
查看次数

在Android中单击后,使标记可拖动

我正在使用Google地图在Android上做一个小项目.我有一个问题 - 只需单击它就可以使标记可拖动,而不是长按.例如:我单击标记,它会更改图标,我可以将其拖动到地图中的任何位置,然后在另一次点击后,他将无法再次拖动并更改其图标?(即使你发布标记,从第一次点击到第二次标记必须一直可拖动)

android google-maps draggable google-maps-markers

7
推荐指数
1
解决办法
5238
查看次数

setTitle到AppCompatDialog不起作用

我正在尝试使用新AppCompat 22.1功能AppCompatDialog,但它显示我没有标题的对话框,但我正在使用方法setTitle.如果我改变了AppCompatDialog对Dialog一切工作正常.这是一个错误AppCompatDialog吗?

这是我的对话框代码:

final AppCompatDialog dialog = new AppCompatDialog(ctx);
dialog.setTitle(R.string.choose_mode);
dialog.setContentView(R.layout.dialog_with_list);

ListView listView = (ListView) dialog.findViewById(R.id.list_view);

List<ModeItemModel> modesList = new ArrayList<ModeItemModel>();
modesList.add(new ModeItemModel(GUI_MANUAL));
modesList.add(new ModeItemModel(GUI_GPS));
listView.setAdapter(new ModeItemsAdapter(ctx, R.layout.list_item_ico_with_text, modesList));
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {

    @Override
    public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) {
        //Do Action

        dialog.cancel();
    }
});
dialog.setCancelable(true);
dialog.show();
Run Code Online (Sandbox Code Playgroud)

android dialog android-appcompat

4
推荐指数
1
解决办法
3624
查看次数

在Android Studio中添加新模块时出现java.lang.NoClassDefFoundError:android.support.v4.app.NavUtilsJB错误

我在项目中添加新模块(https://github.com/lomza/android-color-picker)时出现了一个奇怪的错误.没有这个模块项目运行正常,但如果将此项目作为模块添加到我的主项目并编译它 - 一切看起来不错,但应用程序启动并强制关闭立即给我这个错误:

FATAL EXCEPTION: main
    java.lang.NoClassDefFoundError: android.support.v4.app.NavUtilsJB
            at android.support.v4.app.NavUtils$NavUtilsImplJB.getParentActivityName(NavUtils.java:125)
            at android.support.v4.app.NavUtils.getParentActivityName(NavUtils.java:302)
            at android.support.v4.app.NavUtils.getParentActivityName(NavUtils.java:281)
            at android.support.v7.app.ActionBarActivityDelegateBase.onCreate(ActionBarActivityDelegateBase.java:142)
            at android.support.v7.app.ActionBarActivity.onCreate(ActionBarActivity.java:123)
            at app.user.views.ActivityWelcome.onCreate(ActivityWelcome.java:33)
            at android.app.Activity.performCreate(Activity.java:5133)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
            at android.app.ActivityThread.access$600(ActivityThread.java:141)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
            at android.os.Handler.dispatchMessage(Handler.java:99)
            at android.os.Looper.loop(Looper.java:137)
            at android.app.ActivityThread.main(ActivityThread.java:5103)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:525)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
            at dalvik.system.NativeStart.main(Native Method)
Run Code Online (Sandbox Code Playgroud)

ActivityWelcome.java 33线是 super.onCreate(savedInstanceState);

如果我从项目中删除此模块 - 一切都运行良好.我在向项目添加任何新模块时遇到同样的问题.问题出在哪儿?

编辑:我发现该项目在API 21上运行良好,但如果我在API 18上运行它,我会收到错误.

java android noclassdeffounderror android-studio

2
推荐指数
1
解决办法
2534
查看次数

在cuda中添加char数组

我试图在cuda中添加2个char数组,但没有任何工作.我试着用:

char temp[32];
strcpy(temp, my_array);
strcat(temp, my_array_2);
Run Code Online (Sandbox Code Playgroud)

当我在内核中使用它时 - 我得到了 error : calling a __host__ function("strcpy") from a __global__ function("Process") is not allowed

在此之后,我尝试在主机中使用这些函数,而不是在内核中 - 没有错误,但是在添加之后我会得到奇怪的符号????????????????????????????????.

那么,我如何添加两个(或更多)char数组CUDA呢?

arrays cuda char addition

-1
推荐指数
1
解决办法
2125
查看次数