我正在尝试解决这个问题,但我遇到了一些错误(在下面的代码中列出):
file1 = File.new("#{yaml_file_path}/#{yaml_file1}", 'rb')
file2 = File.new("#{yaml_file_path}/#{yaml_file}", 'rb')
request_body = [["files", file1], ["files", file2]]
RestClient.post url, request_body, request_headers
编译输出: 第16行的错误: - 每个未声明的标识符仅针对它出现的每个函数报告一次 - 'a'未声明的
#include <stdio.h>
struct foo {
int num;
char *word;
struct foo *ptr;
};
void func2(struct foo *);
void func3(struct foo);
int main() {
a.num = 100;
a.word = "secondword";
func2(&a);
printf("2 %d %s\n", a.num, a.word);
a.ptr = &a;
a.num = 50;
a.word = "mylastword";
func3(&a);
printf("4 %d %s\n", a.num, a.word);
}
void func2(struct foo *a) {
while (*(a->word) != '\0') {
putchar(*(a->word));
a->word++;
}
putchar('\n');
if (a->num % 10 != 0) {
a->num *= 2;
}
a->word--;
printf("num is %d\n", (*a).num);
}
void func3(struct foo *a) {
if ((*a).num == a->ptr->num) {
(*a).num = (*((*a).ptr)).num + 1;
} else {
a->num = 200;
}
a->word = "wordsix";
a->ptr->word = "wordseven";
printf("7th is %d %s\n", (*a).num, (*((*a).ptr)).word);
答案 0 :(得分:1)
func3
定义为
void func3(struct foo *a)
但之前已声明为
void func3(struct foo);
按值获取结构和指向结构的指针是两个非常不同的东西。您忘记在*
之前输入)
。
请注意,(*a).num
与a->num
完全相同,但可读性更低。使用这种扭曲的语法避免使代码混乱。