2011-11-05 13 views
5

Come dovrebbe questa C essere convertire in D:Come interfaccia questo codice C a D?

typedef const gchar* (*GModuleCheckInit) (GModule *module); 
typedef void (*GModuleUnload) (GModule *module); 

È corretto?

alias const gchar* function(GModule *module) GModuleCheckInit; 
alias void function(GModule *module) GModuleUnload; 
+0

D1 o D2? ----- – kennytm

+1

è per la versione D2 – bioinfornatics

+0

se si interfaccia con le funzioni C è necessario utilizzare 'extern (C)' –

risposta

4

Linea 1 dovrebbe essere

alias const(gchar)* function(GModule *module) GModuleCheckInit; 
//  ^ ^

altrimenti la const si applicherà a tutta la cosa, rendendo GModuleCheckInit non mutabili.

La riga 2 è corretta.

+0

grazie a @KennyTM (upvote) – bioinfornatics