[問題] 三元運算子的小問題
template <typename T>
T const& my_max(T const &a, T const &b)
{
T const (&c) = a;
T const (&d) = (a < b) ? a : b; << 問題是這行
return a;
}
int main()
{
my_max("PTT", "ppt");
return 0;
}
我的環境是 vs2005
a 的type 會是 const char[4]&
所以 c 沒有問題 可以接
但是 d 卻不行 很奇怪有人試過嗎?
錯誤會是
'initializing' : cannot convert from 'const char *' to 'const char (&)[4]'
ternary operator 怎麼會把型別轉成 const char *
小疑問~
感謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.209.149.227
推
10/09 15:48, , 1F
10/09 15:48, 1F
→
10/09 16:12, , 2F
10/09 16:12, 2F
→
10/09 18:21, , 3F
10/09 18:21, 3F
→
10/09 18:23, , 4F
10/09 18:23, 4F
→
10/09 18:24, , 5F
10/09 18:24, 5F
→
10/10 20:05, , 6F
10/10 20:05, 6F
→
10/10 20:06, , 7F
10/10 20:06, 7F
→
10/10 20:23, , 8F
10/10 20:23, 8F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章