C++ 错误:字符串常量extern“之前应为非限定id;a「;{

C++ 错误:字符串常量extern“之前应为非限定id;a「;{,c++,C++,所以,这个问题,出于某种原因,它向我显示了这个错误(ubuntu,terminal,g++)。我搜索了网络,没有显示任何类似于我的错误。代码是(gfdz.cpp) #包括 #包括 使用名称空间std; 结构dynmass { 无符号长整型vm;// 无符号长整数;// }; int*i,*q; void create() { dynmass a; a、 vm=0; a、 el=0; i=新整数[0]; 外部“a” { 无效推送(); 无效剩余(); int kolichestvo(); int

所以,这个问题,出于某种原因,它向我显示了这个错误(ubuntu,terminal,g++)。我搜索了网络,没有显示任何类似于我的错误。代码是(gfdz.cpp)

#包括
#包括
使用名称空间std;
结构dynmass
{
无符号长整型vm;//
无符号长整数;//
};
int*i,*q;
void create()
{
dynmass a;
a、 vm=0;
a、 el=0;
i=新整数[0];
外部“a”
{
无效推送();
无效剩余();
int kolichestvo();
int vmestimostb();
int main;
};
}

您拥有的是一个语言链接规范,其中包含一系列函数声明


一个语言规范只能出现在命名空间范围内。你的是块范围,所以它是错误的。而且,“标准”C++不支持“A”语言链接,所以你可能需要查阅编译器手册来找出它是否被支持。对不起,我不知道如何使它看起来正常。你希望代码< >怎么办?看来您急需一个。@molbdnilo谢谢!

#include <iostream>
#include <string>
using namespace std;

struct dynmass
{
    unsigned long int vm; //вместимость
    unsigned long int el; //количество элементов
};

int *i,*q;

void create()
{
    dynmass a;
    a.vm = 0;
    a.el = 0;
    i = new int[0];

    extern "a" 
    {
        void push();
        void remuve();
        int kolichestvo();
        int vmestimostb();
        int main;
    };
}