私はこのコードを持っています:
using Posix;
int fuseguifs_getattr(string path, Posix.Stat *stbuf)
{
int res;
res = Posix.lstat(path, stbuf);
if (res == -1)
return -Posix.errno;
return 0;
}
static int main(string [] args)
{
Posix.Stat *a;
fuseguifs_getattr("/home/leon", a);
return 0;
}
コンパイルしようとすると、次のエラーが発生します。
test.vala:6.26-6.30: error: Argument 2: Cannot convert from
`Posix.Stat' to `Posix.Stat*'
res = Posix.lstat(path, stbuf);
^^^^^
Compilation failed: 1 error(s), 0 warning(s)
これを変更してみました:fuseguifs_getattr( "/ home / leon"、a); にfuseguifs_getattr( "/ home / leon"、* a);
しかし、エラーが発生します:「参照または出力パラメーターに値を渡すことができません」
「out」を追加してみました:res = Posix.lstat(path、out * stbuf);
これにより、次のエラーが発生します。エラー:refおよびoutメソッドの引数は、フィールド、パラメーター、ローカル変数、および配列要素へのアクセスでのみ使用できます。
ヒューズバインディングがそれを期待する方法の一部であるため、fuseguifs_getattrメソッドパラメーターを変更することはできません。
私は本当に立ち往生しています。誰か私がこれを解決する方法はありますか?