我知道如何用C++編寫代碼,但是這是我第一次我嘗試使用C.創建在C程序中我自己的std ::矢量
我甚至嘗試定義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);
}
這裏的用法:
#include "cVector.h"
Vector times;
vector_init(×);
int main{
....}
最後錯誤:
Ser.c:135:13: error: expected declaration specifiers or ‘...’ before ‘&’ token
「在C程序中是否有任何使用std :: vector的方法?」不,但你可以實現類似的東西,這就是你想要做的。爲什麼'vector_init'是一個內聯函數? – 2014-10-27 14:42:12
你沒有真正向我們展示足夠的Ser.c,這是發生錯誤的地方。請提供[完整的最小測試用例](http://sscce.org)。 – 2014-10-27 14:43:22