我正致力于开发一个与Pandora接口的库。我将我的河豚代码从python库中删除,但是我在编译它时遇到了麻烦。 Vala在尝试生成C源文件之前报告没有错误。这是我得到的错误:
nathan@nathan-laptop:~/projects/libpanda$ valac --thread lib/crypto.vala -C -v
Loaded package `/usr/share/vala-0.26/vapi/glib-2.0.vapi'
Loaded package `/usr/share/vala-0.26/vapi/gobject-2.0.vapi'
lib/crypto.vala:192.42-192.60: warning: chained relational expressions are experimental
public Blowfish(string key) requires(8 < key.length < 56){
^^^^^^^^^^^^^^^^^^^
**
ERROR:valaccodearraymodule.c:1105:vala_ccode_array_module_real_get_array_length_cvalue: assertion failed: (size != null && size.size >= dim)
Aborted (core dumped)
您可以在我的git存储库here中找到源代码。我不确定这是否是vala本身或我的代码的错误。我觉得它与多维数组有关,因为它是在昨天编写的,当时sbox是单维数组。
编辑:看起来这是vala本身的一个问题。您似乎无法将const
多维数组的值分配给另一个变量:
public class TestClass : GLib.Object{
public static const int[,] ff = {{1,2},{3,4}};
public int[,] asdf;
public TestClass(){
asdf = TestClass.ff;
}
public static int main(string[] args){
var t = new TestClass();
return 0;
}
}
答案 0 :(得分:0)
如上面的编辑所述,您似乎无法将const
多维数组的值赋给另一个变量:
public class TestClass : GLib.Object{
public static const int[,] ff = {{1,2},{3,4}};
public int[,] asdf;
public TestClass(){
asdf = TestClass.ff;
}
public static int main(string[] args){
var t = new TestClass();
return 0;
}
}
我已向vala团队here
提交了错误