[Vala] Fwd: Delegate with out parameters are not working within lambdas
- From: Mike Massonnet <mmassonnet gmail com>
- To: vala-list gnome org
- Subject: [Vala] Fwd: Delegate with out parameters are not working within lambdas
- Date: Sun, 17 May 2009 12:03:59 +0200
Hi,
When using this code:
|public delegate void SampleFunc (int a, out int x);
|
|void f1 (int a, out int x) {
| print ("a %d\n", a);
| x = a * 10;
|}
|
|void f2 (SampleFunc func, int a) {
| int x;
| func (a, out x);
| print ("x %d\n", x);
|}
|
|static int main (string[] args) {
| /* Passing a function */
| f2 (f1, 5);
| /* Using a lambda */
| f2 ( (a, x) => {
| print ("lambda a %d\n", a);
| x = a * 10;
| }, 5);
| return 0;
|}
the lamdba function isn't working because instead of passing gint *x
it passes gint x. Here is the error message:
|/tmp/lambda-out-parameters.vala.c: In function ‘__lambda0__sample_func’:
|/tmp/lambda-out-parameters.vala.c:46: attention : passing argument 2
of ‘_lambda0_’ makes integer from pointer without a cast
|/tmp/lambda-out-parameters.vala.c:39: note: expected ‘gint’ but
argument is of type ‘gint *’
This is with Vala 0.7.1, I don't have 0.7.2 yet as I isntall from
packages. Should I open a bug report?
Cheers
Mike
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]