1234567891011121314151617 |
- discard """
- targets: "cpp"
- cmd: "nim cpp $file"
- output: "3"
- """
- {.emit:"""/*TYPESECTION*/
- int operate(int x, int y, int (*func)(const int&, const int&)){
- return func(x, y);
- };
- """.}
- proc operate(x, y: int32, fn: proc(x, y: int32 ): int32 {.cdecl.}): int32 {.importcpp:"$1(@)".}
- proc add(a {.codegenDecl:"const $#& $#".}, b {.codegenDecl:"const $# $#", byref.}: int32): int32 {.cdecl.} = a + b
- echo operate(1, 2, add)
|