标签: incompatibility

不兼容的指针类型将'Class'发送到'id <UIActionSheetDelegate>'类型的参数

我收到警告不兼容的指针类型在下面的"delegate:self"行中将'Class'发送到'id'类型的参数:

    + (SHKActionSheet *)actionSheetForType:(SHKShareType)type
{
    SHKActionSheet *as = [[SHKActionSheet alloc] initWithTitle:SHKLocalizedString(@"Share")
                                                      delegate:self
                                             cancelButtonTitle:nil
                                        destructiveButtonTitle:nil
                                             otherButtonTitles:nil];
    as.item = [[[SHKItem alloc] init] autorelease];
    as.item.shareType = type;
Run Code Online (Sandbox Code Playgroud)

此警告在ShareKit中,如果有人知道如何解决它,请告诉我!

warnings incompatibility ios

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

使用新版本的运行时(8.x)的旧版Java.exe(7.1)的含义

我们的应用程序嵌入了JRE.该应用程序错误地附带了一个mashup(7.x版本的java.exe和8.x版本的其余JRE).

我可以确认运行v.1.7 java.exe的进程使用Process Explorer使用v.1.8 java运行时.我很惊讶运行时或二进制文件没有检测到异常并放弃JVM创建!

同样的含义是什么?安全问题 ?稳定性问题?我没有浏览java.exe的源代码.从我对java.exe二进制文件的初步调查,我可以看出它不仅仅是一个存根.除了USER32.dll,ADVAPI32.dll,COMCTL32.dll之外,它还调用了100种不同的KERNEL32.DLL API.

当然,我们可以(而且我们会)解决这个错误.但对于使用上述异常的几种当前生产系统是否有影响?如果是的话,他们是什么?

java incompatibility

9
推荐指数
1
解决办法
200
查看次数

如何在python 3中实现字节对象的sprintf样式格式化?

我想在python3上做sprintf但是使用原始字节对象,而不必为%s进行任何手动转换.因此,将一个bytes对象作为"模板",加上任意类型的任意数量的对象,并返回一个呈现的字节对象.这就是python 2的sprintf%运算符一直在运行的方式.

b'test %s %s %s' % (5, b'blah','strblah') # python3 ==> error
Traceback (most recent call last):
  File "<input>", line 1, in <module>
TypeError: %b requires bytes, or an object that implements __bytes__, not 'int'

def to_bytes(arg):
    if hasattr(arg,'encode'): return arg.encode()
    if hasattr(arg,'decode'): return arg
    return repr(arg).encode()

def render_bytes_template(btemplate : bytes, *args):
    return btemplate % tuple(map(to_bytes,args))

render_bytes_template(b'this is how we have to write raw strings with unknown-typed arguments? %s %s %s',5,b'blah','strblah')

# output: b'this is how we have to …
Run Code Online (Sandbox Code Playgroud)

python templates incompatibility bytestring python-3.x

9
推荐指数
1
解决办法
812
查看次数

使用仅适用于旧版Scala版本的Scala库

我是Scala的新手.但是,我用Scala 2.9.0创建了一个中等大小的程序.现在我想使用一个仅适用于Scala 2.7.7的开源库.

是否可以在我的Scala 2.9.0程序中使用这个2.7.7库?我该怎么做?我已经看过sbt,但并没有真正成功.有人为此问好世界的例子吗?

scala incompatibility

8
推荐指数
1
解决办法
129
查看次数

为什么源命令不适用于bash 3.2中的进程替换?

我有以下shell脚本:

cat <(echo foo)
source <(echo bar=bar)
echo $bar
Run Code Online (Sandbox Code Playgroud)

但是它在GNU bash 3.2和4.3中的工作方式不同,如下所示:

$ /bin/bash foo.sh 
foo

3.2.53(1)-release

$ /usr/local/bin/bash foo.sh 
foo
bar
4.3.33(1)-release
Run Code Online (Sandbox Code Playgroud)

为什么这只适用于一个版本?是bug还是添加功能?

似乎流程替换工作正常,但是在获取文件时存在问题.

如果这是预期的行为,我应该使用什么其他语法来代替source标准输入中的某些东西,以便在不同的bash版本之间兼容?

syntax bash incompatibility process-substitution

8
推荐指数
1
解决办法
1006
查看次数

在android中安装pcks12证书“密码错误”错误

当尝试将 pkcs12 证书文件导入 android 以便与 openvpn connect 应用程序一起使用时,系统会提示我输入密码。这是与该 pkcs12 文件相关的密码。我继续输入正确的密码,但收到“密码错误”消息。

为了确认不是文件有问题,我尝试在 Windows 计算机上安装相同的证书,接受相同的密码并且安装证书没有问题。

这是在运行 Android 11 安全更新 2022-02-05 的两部不同智能手机上进行测试的。

以前有人见过这个问题吗?我只能在网上找到类似的问题,没有解决。

android client-certificates incompatibility openvpn pkcs#12

8
推荐指数
2
解决办法
7862
查看次数

为什么多个增量/减量在C++中有效但在C中不有效?

测试.(C/CPP)

#include <stdio.h>

int main(int argc, char** argv)
{
  int a = 0, b = 0;
  printf("a = %d, b = %d\n", a, b);
  b = (++a)--;
  printf("a = %d, b = %d\n", a, b);

  return 0;
}
Run Code Online (Sandbox Code Playgroud)

如果我将上面的内容保存为.cpp文件,它会在执行时编译并输出:

a = 0, b = 0
a = 0, b = 1
Run Code Online (Sandbox Code Playgroud)

但是,如果我将其保存为.c文件,我会收到以下错误:

test.c:7:12: error: lvalue required as decrement operator.
Run Code Online (Sandbox Code Playgroud)

(++a)手术前不应该解决(newValue)--手术吗?有没有人对此有任何见解?

c c++ incompatibility lvalue language-lawyer

6
推荐指数
1
解决办法
826
查看次数

如何更改 JDK8 中的 DateFormatSymbols 以解决与 JDK7(属格月份名称)的不兼容问题?

正如 Xaerxess 在本主题中发现的那样:Month name in genitive (Polish locale) with Joda-Time DateTimeFormatter in JDK8 DateFormatSymbols.getInstance(new Locale("pl", "PL")).getMonths() 默认返回所有格中的月份名称。以前的 Java 版本以主格形式返回月份名称。例如,使用“dd-MMMM-yyyy”模式的 SimpleDateFormat 格式在 JDK8 中与在 JDK6 或 7 中给出不同的结果。

这是一个很大的变化,我的一些旧应用程序无法使用新的月份名称正常工作。我正在寻找一种解决方案来更改 Locale PL 的全局默认月份名称。

我尝试使用 DateFormatSymbols.getInstance().setMonths(new String[] {..}),但它在全局范围内不起作用。

如果我能找到使用 Java 代码更改默认月份名称的解决方案,我可以在应用程序初始化时添加此代码,而无需更正整个应用程序。在我的例子中,我只是简单地使用 load-on-startup 选项将 servlet 添加到我的 Web 应用程序中。

或者也许您对如何在这种情况下使 Java 8 兼容有不同的想法?也许我可以在启动时传递给 jvm 的参数/选项?

incompatibility datetime-format java-8

6
推荐指数
1
解决办法
1030
查看次数

具有类型擦除析构函数的 unique_ptr 不太有效(带有警告)

这里有一个很好的小技巧,允许使用std::unique_ptr不完整的类型。

这是相关代码:

// File: erasedptr.h
#include <memory>
#include <functional>

// type erased deletor (an implementation type using "veneer")
template <typename T>
struct ErasedDeleter : std::function<void(T*)>
{
    ErasedDeleter()
        : std::function<void(T*)>( [](T * p) {delete p;} )
    {}
};

// A unique_ptr typedef
template <typename T>
using ErasedPtr = std::unique_ptr<T, ErasedDeleter<T>>;


// Declare stuff with an incomplete type
struct Foo;
ErasedPtr<Foo> makeFoo();


// File: main.cpp (Foo's definition is not available in this translation unit)
#include "erasedptr.h"
int main() { …
Run Code Online (Sandbox Code Playgroud)

c++ incompatibility unique-ptr incomplete-type c++11

6
推荐指数
1
解决办法
1768
查看次数

将 neovim 升级到版本 0.7.2-2 后出现此错误

我尝试将 neovim 更新到最新版本,它安装正确,但是当尝试查看版本(nvim -v)时出现此错误:

vim/_init_packages.lua: cannot load incompatible bytecode
stack traceback:
    [C]: at 0x56425eba1870
    [C]: at 0x7f85d7ffb3e0
E970: Failed to initialize builtin lua modules
Run Code Online (Sandbox Code Playgroud)

我尝试卸载并重新安装,但不起作用。我还尝试从存储库“https://github.com/neovim/neovim/releases/”安装它,但它不允许我使用命令“nvim”从终端打开它

PS:我的操作系统是manjaro linux。

lua bytecode incompatibility neovim

6
推荐指数
0
解决办法
1207
查看次数