作者danielko (蛋尼爾糕)
看板EE_DSnP
標題[問題] 作業1-2.2(c)使用typeid(X).name()
時間Sun Mar 16 17:33:23 2008
這個指令是螞蟻書(3rd edition)上面chap.10提到的
(在講polymorphism最後的一個例子)
說會return某變數的type name
我用int/double/char等等都是會return對應的變數值
可是為什麼string不會阿
變成這一長串的東西
std::basic_string<char,struct std::char_traits<char>,
class std::allocator<char> > (接上一行)
請問要怎樣讓他return我想要的"string"呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.230.39.108
1F:→ spock:string 不是 c/c++ 內建的基本型態,若 typeid 無效就表示 03/16 17:40
2F:→ spock:string 的 stl 裡面沒寫這東西吧? 03/16 17:41
3F:→ danielko:可是書上說自己造出來的class也可以耶 03/16 17:47
4F:→ danielko:我想說#include <string>應該就知道class definition了 03/16 17:47
5F:推 kira925:應該可以回傳才對。。。是不是忘記#include<string>? 03/16 17:48
6F:→ danielko:我有include耶 可是傳回的是上面那兩行東西orz 03/16 18:01
7F:推 spock:p.730 說 compiler dependent,有 #include <typeinfo> 吧? 03/16 18:02
8F:推 timrau:其實真正的原因是string其實是從這一大串東西typedef出來的 03/16 18:06
9F:→ danielko:喔喔 那我只好自己手動輸入type name了 XD 03/16 18:37
10F:推 ric2k1:推 timrau, 請找到 basic_string.h 來看看... 03/16 21:04