- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在为学校做一个 CS 项目,但我似乎遇到了这个奇怪的错误,这非常没有帮助。我和我的搭档似乎无法弄清楚。
它在第一个上显示“UArray2.h:18: 错误:在 '*' 标记之前预期有 '='、','、';'、'asm' 或 'attribute'”函数声明我的 .h 文件 (UArray2_new)。
在带有函数声明的每一行上,后面都会重复出现“错误:预期‘)’在‘*’标记之前”。有任何想法吗?我在我的文件中包含了一个空白的 main,所以你可以看到它不可能是编译问题。我使用“gcc -Wall -Wextra -Werror UArray2.c”进行编译。
//UArray2.h
#include <stdlib.h>
#include <stdio.h>
#ifndef UARRAY2_INCLUDED
#define UARRAY2_INCLUDED
struct UArray2_T{
int width, height;
};
extern UArray2_T * UArray2_new(int height, int width, int size);
extern void UArray2_free(UArray2_T * uarray2);
extern void * UArray2_at(UArray2_T * uarray2, int column, int row);
extern int UArray2_size(UArray2_T * uarray2);
extern int UArray2_columns(UArray2_T * uarray2);
extern int UArray2_rows(UArray2_T * uarray2);
static int UArray2_index(UArray2_T * uarray2, int col, int row);
#endif
这是 .c 文件
//UArray.c
#include <stdlib.h>
#include <stdio.h>
#include "UArray2.h"
int main()
{
return 0;
}
UArray2_T * UArray2_new(int height, int width, int size)
{
T newArray=malloc(sizeof(UArray2_T));
newArray->height=height;
newArray->width=width;
(void) size;
return newArray;
}
void UArray2_free(UArray2_T * uarray2)
{
(void) uarray2;
//need to write
}
void * UArray2_at(UArray2_T * uarray2, int column, int row)
{
(void) uarray2;
int index=UArray2_index(uarray2, column, row);
(void) index;
//if(index>0 && index<=column*row)
//return UArray_at(uarray2->UArray, index);
//else
//throw an error
char * k="hi"; //dummy variables
return k;
}
int UArray2_size(UArray2_T * uarray2)
{
//UArray_size(uarray2->UArray);
return 0;
}
int UArray2_columns(UArray2_T * uarray2){
return uarray2->width;
}
最佳答案
凡是有 UArray2_T *
的地方,都应该将其替换为 struct UArray2_T *
。当您引用 时,
类型。C
需要 struct
关键字(但 C++
中不需要)结构
避免这种情况的标准方法是使用 typedef
,例如:
typedef struct {
int width, height;
} UArray2_T;
关于c - C 新手...在未完成的函数声明上在 "UArray2.h:19: error: expected ‘)’ 标记之前获取 ‘*’,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12480004/
假设我有一个简单的数据类型,例如: data Cell = Open | Blocked 我想使用 UArray Int Cell .是否有捷径可寻?我可以以某种方式重用 UArray Int Boo
我正在尝试为我的数据类型实现 Show 类型类 data Heap a = Heap {invariant :: a -> a -> Ordering ,arr
我正在寻找一种方法来拥有 Enum a => UArray a(这对我来说很有意义,因为我们可以简单地将枚举映射到 Int 并通过 toEnum 和 fromEnum) 到目前为止,我试图从 Data
我正在尝试使用 UArray Int (Complex Double)。此签名很好,但是当我尝试使用 (!) 访问特定索引时,我收到错误消息。这是我尝试使用的代码: test :: UArray In
我正在尝试使用 UArray Int (Complex Double)。此签名很好,但是当我尝试使用 (!) 访问特定索引时,我收到错误消息。这是我尝试使用的代码: test :: UArray In
我正在使用 Network.Pcap 进行一些网络捕获( pcap ) 并计划使用 Net.PacketParsing 进行一些检查( network-house )。为此,看起来我必须将我的数据包解
我是一名优秀的程序员,十分优秀!