typedefs - это просто псевдонимы базового типа.Это подразумевает, что typedefs - это время компиляции, а не конструкция времени компоновки.
В вашем примере кода вы пытаетесь dllexport typedef анонимной структуры, что может привести к путанице компилятора на двух уровнях: первыйвы экспортируете псевдоним, который он не хочет делать, и затем сама структура является анонимной, поэтому она даже не может экспортировать это.В-третьих, вещь, похожая на конструктор, - нет.Это просто функция со странным именем.У ctor должно быть имя структуры и, ну, в общем, его аноним.
Учитывая, что этот вопрос - c ++, который ослабил многие правила при использовании структур ... почему бы вам просто не пропустить typedef и датьструктура имя:
extern "C"__declspec(dllexport) struct PointCg
{
double x;
double y;
PointCg(double xx, double yy);
};