[Issue 6754] New: extern() in a function signature
    d-bugmail at puremagic.com 
    d-bugmail at puremagic.com
       
    Sat Oct  1 17:22:45 PDT 2011
    
    
  
http://d.puremagic.com/issues/show_bug.cgi?id=6754
           Summary: extern() in a function signature
           Product: D
           Version: D2
          Platform: Other
        OS/Version: Windows
            Status: NEW
          Severity: enhancement
          Priority: P2
         Component: DMD
        AssignedTo: nobody at puremagic.com
        ReportedBy: bearophile_hugs at eml.cc
--- Comment #0 from bearophile_hugs at eml.cc 2011-10-01 17:22:06 PDT ---
This comes from code shown in D.learn:
http://www.digitalmars.com/webnews/newsgroups.php?art_group=digitalmars.D.learn&article_id=29886
You can't use extern(C) in a function signature:
void foo(extern(C) void function() f) {}
void main() {}
DMD 2.056head gives:
test.d(1): basic type expected, not extern
test.d(1): found 'extern' when expecting ')'
test.d(1): semicolon expected following function declaration
test.d(1): Declaration expected, not '('
Workaround: before the function definition you have to define the argument type
with an alias:
alias extern(C) void function() CF;
void foo(CF f) {}
void main() {}
-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
    
    
More information about the Digitalmars-d-bugs
mailing list