C++到 C 的转换问题
C++ to C Conversion issues
我正在尝试将C++(.cpp文件(的内容复制到 C(.c 文件(代码中,因为我需要转换它。我得到的大多数错误现在都已修复,但还有一个仍然存在。
这是代码 — 我已经删除了所有与问题无关的内容:
/*Prototype*/
void breakTime(time_t time, tmElements_t tm);
/*Creation*/
static tmElements_t tm;
/*Functions*/
void breakTime(time_t timeInput,tmElements_t &tm){
tm.Second = 10;
}
编译器给了我:
expected ';' , ',' or ')' before '&' token
我尝试编辑该功能并将&tm
替换为 tm
.它确实可以编译,但问题是函数内部分配给tm
的值。成员不会转移到函数的外部(这就是想法(。
有什么建议如何解决这个问题吗?
&
符号在这里用于将tm
作为引用,但 C 没有引用。您必须删除指针的引用:
void breakTime(time_t timeInput, tm_Elements_t* tm) {
tm->Second = 10;
}
您对breakTime
的调用也必须转换。你应该有这样的代码:
time_t timeInput;
tm_Elements_t tm;
breakTime(timeInput, tm);
它必须成为:
time_t timeInput;
tm_Elements_t tm;
breakTime(timeInput, &tm);
请注意,此处使用 &
具有不同的含义:它用于获取tm
的地址,该地址将作为指向 breakTime
的指针传递。
只需替换为指针:
void breakTime(time_t timeInput, tmElements_t *tm) {
tm->Second = 10;
}
相关文章:
- 模板类转换问题 - 无法推断调用的函数
- 复制构造函数隐式转换问题
- 与模板 (c++) 相关的转换问题
- 将文件复制到自定义位置,存在字符串转换问题
- 从基指针到派生的强制转换问题
- JNI 日期值转换问题,在C++中获取不同的长整型值
- 类型转换问题
- 拆分 pybind11 模块和自动类型转换问题
- 类型转换问题:返回为整数而不是浮点/类型
- 如何解决ostream_iterator转换问题?
- C++转换问题
- 代码 c++ VS 2010 中的 LPCWSTR 到字符串转换问题
- 罗马数字C++编程转换问题
- C++十进制到时间的转换问题
- C++到 C 的转换问题
- C 复合分配和类型转换问题
- CPP预处理器到C预处理器转换问题
- 将数据类型从C#封送至C++的类型转换问题
- COM对象,并返回QVariant强制转换问题
- C 汇编器转换问题