4
是否可以在cgo中混入一些C++代码?我可以在cgo中使用C++吗?
我尝试这样做:
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
http://code.google.com/p/go/issues/detail?id=1476 – ephemient 2012-07-10 05:19:55