在C程序中创建我自己的std::vector 我知道如何用C++编写代码,但是这是我第一次尝试使用C.
我甚至试图定义一个cVector.h和cVector.c来实现一些std::vector功能。但是当我编译代码时,我收到以下错误 以下是相同的代码: cVector.h在C程序中创建我自己的std::vector 我知道如何用C++编写代码,但是这是我第一次尝试使用C.,c++,c,vector,C++,C,Vector,我甚至试图定义一个cVector.h和cVector.c来实现一些std::vector功能。但是当我编译代码时,我收到以下错误 以下是相同的代码: cVector.h #define VECTOR_INITIAL_CAPACITY 520 typedef struct { int size; // slots used so far int capacity; // total available slots int *data; // array of in
#define VECTOR_INITIAL_CAPACITY 520
typedef struct {
int size; // slots used so far
int capacity; // total available slots
int *data; // array of integers we're storing
} Vector;
void vector_init( Vector *vector);
cVector.c
#include "cVector.h"
#include <stdio.h>
#include <stdlib.h>
void vector_init(Vector *vector) {
// initialize size and capacity
vector->size = 0;
vector->capacity = VECTOR_INITIAL_CAPACITY;
// allocate memory for vector->data
vector->data = malloc(sizeof(int) * vector->capacity);
}
最后一个错误是:
Ser.c:135:13: error: expected declaration specifiers or ‘...’ before ‘&’ token
不能在这样的文件范围内调用函数。您需要将调用移到函数中(例如,
main
)。您不能在这样的文件范围内调用函数。您需要将调用移到函数中(例如,main
)。您不能在另一个函数声明之外使用函数。顺便说一句,您可以将变量声明为全局变量,但行
vector_init(×)代码>
必须写入主函数的内部。
如果你对gcc的错误消息感兴趣,那是因为他试图找到一个新函数的声明,这是一个类型的名称或。。。相反。您不能在另一个函数声明之外使用函数。顺便说一句,您可以将变量声明为全局变量,但行
vector_init(×)代码>
必须写入主函数的内部。
如果你对gcc的错误消息感兴趣,那是因为他试图找到一个新函数的声明,这是一个类型的名称或。。。相反。“有没有办法在C程序中使用std::vector?”没有,但您可以实现类似的功能,这正是您要做的。为什么vector\u init
是一个内联函数?您没有向我们展示足够的Ser.c,这就是错误发生的地方。请给出一个答案:“有没有办法在C程序中使用std::vector?”没有,但您可以实现类似的功能,这正是您正在尝试的。为什么vector\u init
是一个内联函数?您没有向我们展示足够的Ser.c,这就是错误发生的地方。请出示一张支票。
Ser.c:135:13: error: expected declaration specifiers or ‘...’ before ‘&’ token