c - 不兼容类型 : structure and scalar

标签 c

我是第一天使用 C,它与 C# 有点不同。我试图让一个函数返回一个结构,但我的代码没有发现任何问题,但我一直收到错误“不兼容的类型:结构和标量”。

在我的 main.c 中我做了这个调用

struct Position pos = GetPosition();

在我的其他源文件中,我定义了函数:

struct Position getPosition(){
  struct Position pos;
  pos.latitude = 56;
  pos.longitude = 18;
  pos.time = 456;
  return pos;
}

我在头文件中定义了函数,并将其包含在我的 main.c 文件中。 我做错了什么?

最佳答案

这可能是因为您正在调用 GetPosition 并且您已经声明了 getPosition(检查大小写)。

因为它没有看到原型(prototype),所以编译器假装有一个返回 int 的函数 GetPosition。其他一切都是正确的。

关于c - 不兼容类型 : structure and scalar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23586199/

相关文章:

c++ - 使用 Visual Studios 2012 进行 C++ 编码时,如何自动完成在 IntelliSense 中选择的代码?

C 递归编程二叉树插入(不是二叉搜索树)

检查 elf 可执行文件是否在 UNIX 上使用 GUI 或 CUI 运行

c - 检测操作系统版本并相应地选择线程函数

c - 如何在 C 中使用 send() 计算字节数,包括协议(protocol)大小?

c - 如何获取网络设备统计信息?

C - 在运行时创建一个大小大于 10M 的数组

c - 如何填写用于 msghdr 的 iov_iter 结构?

编译后结构的大小可以改变吗?

无法使用for循环在C中打印数组