Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在C程序中创建我自己的std::vector 我知道如何用C++编写代码,但是这是我第一次尝试使用C._C++_C_Vector - Fatal编程技术网

在C程序中创建我自己的std::vector 我知道如何用C++编写代码,但是这是我第一次尝试使用C.

在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

我甚至试图定义一个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 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