簡體   English   中英

C++中Typedef使用問題

[英]Question on Typedef usage in C++

我在鍵盤上編寫了以下代碼,但我不明白它應該如何/為什么編譯。

#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 僅適用於具有 integer 參數的函數的雙打也可以使用。 我不明白這是如何工作的。

有人可以解釋一下。

謝謝小號

int可以隱式轉換為double double創建typedef不會改變這一點。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM