gpt4 book ai didi

C 参数与原型(prototype)不匹配

转载 作者:太空宇宙 更新时间:2023-11-04 05:53:20 25 4
gpt4 key购买 nike

我试图从一个文件中读取并将其插入到我的“密码子”结构复合变量中,但我收到“参数与原型(prototype)不匹配”的错误。

这是我的.c:

#include <math.h>
#include <stdio.h>
#include "genome.h"

void LoadGeneticCode(filename, c){
FILE *file = fopen(filename, "r");

}
int main()
{
codon c[64]; //making array of c
LoadGeneticCode('data.dat', c);
return 0;
}

.h

typedef struct { char b1,b2,b3; int a;} codon;

void LoadGeneticCode(char *filename, codon c[64]);

生成文件

HEADERS = genome.h

default: genome

genome.o: genome.c $(HEADERS)
gcc -c genome.c -o genome.o

genome: genome.o
gcc genome.o -o genome

clean:
-rm -f genome.o
-rm -f genome

我觉得这是一个简单的类型未匹配,但我不确定如何修复它。

最佳答案

第一个坏点:void LoadGeneticCode(filename, c){
您应该指定每个参数的类型。它们被视为 int 参数,因此它不会匹配原型(prototype)。

第二个坏点:LoadGeneticCode('data.dat', c);

将多个字符放入字符常量 'data.dat' 中并不好。它应该是一个字符串 "data.dat"

你应该这样写你的.c:

#include <math.h>
#include <stdio.h>
#include "genome.h"

void LoadGeneticCode(char *filename, codon c[64]){
FILE *file = fopen(filename, "r");

}
int main(void)
{
codon c[64]; //making array of c
LoadGeneticCode("data.dat", c);
return 0;
}

关于C 参数与原型(prototype)不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33761443/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com