[C/C++] Function has C-linkage but returns UDT
Verfasst: 13.10.2013, 13:31
Hallo Community,
ich habe hier eine ganze Reihe Warnings die ich gerne fixen anstatt ignorieren würde.
Vereinfach sieht der Code so aus:
Die Warning die ich bekomme ist:
Einen leeren Konstruktor oder einen default Konstruktor für vec2 anzugeben hat leider nichts geändert.
Setup:
Windows 7
Visual Studio 2013 RC
x64 Release
Soweit ich das beurteilen kann funktioniert der Code aber (das wird als Interop zu Mono/.NET genutzt)
Cheers
Mind
EDIT: Meine Vermutung ist, dass ich durch die user-defined ctors nicht mehr POD bin.
ich habe hier eine ganze Reihe Warnings die ich gerne fixen anstatt ignorieren würde.
Vereinfach sieht der Code so aus:
Code: Alles auswählen
extern "C"
{
struct vec2
{
vec2(float _x, float _y) : x(_x), y(_y) {}
float x, y;
}
__declspec(dllexport) vec2 __cdecl foo()
{
return vec2(1, 2);
}
}
Code: Alles auswählen
warning C4190: 'foo' has C-linkage specified, but returns UDT 'vec2' which is incompatible with C
Setup:
Windows 7
Visual Studio 2013 RC
x64 Release
Soweit ich das beurteilen kann funktioniert der Code aber (das wird als Interop zu Mono/.NET genutzt)
Cheers
Mind
EDIT: Meine Vermutung ist, dass ich durch die user-defined ctors nicht mehr POD bin.