Могу ли я использовать c++ в cgo?

Можно ли смешать код C++ в cgo?

Я пробовал это:

package main
/* 
    #include <iostream>

    extern "C" void test(const char* str)
    {
        std::cout << str;
    }
*/
// #cgo CFLAGS: -x c++
// #cgo LDFLAGS: -lstdc++
import "C"

func main() {
    C.test(C.CString("Testing!!!"))
}

Но я получаю эти ошибки:

error: 'char* CString(_GoString_)' cannot appear in a constant-exp
error: 'void test(const char*)' cannot appear in a constant-expres
error: invalid conversion from 'char* (*)(_GoString_)' to 'long long int' [-fpermissive]
error: invalid conversion from 'void (*)(const char*)' to 'long long int' [-fpermissive]

Я использую go1.0.2 и MinGW -w64 4.7.1

6
задан Chris_F 10 July 2012 в 04:52
поделиться