关于C++中Typedef用法的问题
Question on Typedef usage in C++
我在codepad上写了下面的一段代码,但我不明白它应该如何编译。
#include<iostream>
using namespace std;
typedef double dObject;
typedef int iObject;
typedef void (*swapfuncptr)(dObject, dObject);
void swap(dObject a,dObject b) {
cout << a << " " << b << endl;
dObject tmp;
tmp = a;
a = b;
b = tmp;
cout << a << " " << b << endl;
}
int main() {
double a = 7.5, b = 5.3;
swapfuncptr swapptr1;
swapptr1 = &swap;
swapptr1(a, b);
int c = 3, d = 2;
swapfuncptr swapptr2;
swapptr2 = &swap;
swapptr2(c, d);
swapfuncptr swapptr3;
swapptr3 = &swap;
swapptr3('r', 'd');
return 0;
}
所以dobject只适用于具有整数参数的函数的对偶。我不明白这是怎么回事。
有人能解释一下吗。
谢谢S
int
可隐式转换为double
。为double
创建typedef
不会改变这一点。
相关文章:
- 警告处理为错误这里有什么问题
- 最小硬币更换问题(自上而下方法)
- 为"adjacent"变量赋值时出现问题
- 我的神经网络不起作用 [XOR 问题]
- 在Ubuntu 16.04上安装Cilk时出现问题
- C++我的数学有什么问题,为什么我的代码不能正确循环
- 编译包含字符串的代码时遇到问题
- Project Euler问题4的错误解决方案
- 问题:什么是QAbstractItemView::NoEditTriggers的反面
- 在编译C++代码(具有dlib和opencv)到WASM时面临问题
- 在进程中对同一管道进行读取和写入时C++管道出现问题
- 静态数据成员的问题-修复链接错误会导致编译器错误
- 标准::enable_if的基本用法问题
- 基于智能指针的 CRTP 习惯用法的编译问题
- 这种result_of用法有什么问题?
- 语义问题 "Attempt to use a deleted function" 遇到使用 std::线程用法编译 c++ 代码
- Const用法——这里应该修改什么来修复这个问题
- 理解问题:预编译标头和包含用法
- 关于print用法的问题
- 关于C++中Typedef用法的问题