[计算机科学经

23 class injected class names class class unqualified

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: 能被拿來作為 template arguments: template <char const* name> Class MyClass { ... }; char const* s = "hello"; MyClass<s> x; // 錯誤:s 是「指向內部聯結(internal linkage)物件」的指標 C++ Templates - The Complete Guide 4.4 摘要 41 但是你可以這麼寫: template <char const* name> Class MyClass { ... }; extern char const s = "hello"; MyClass<s> x; // OK 全域的 char array s 被初始化為 "hello",因此 s 是㆒個外部聯結(external linkage)物件。8.3.3 節, p.109 對此問題有詳細討論,13.4 節, p.209 則討論了這個問題未來的可能變化。 4.4 摘要 Templates parameters 不限只能是型別(types),也可以是數值(values)。 你不能把浮點數、class-type 物件、內部聯結(internal linkage)物件(例如字串字面常數) 當作 nontype template parameters 的引數。 C++ Templates - The Complete Guide 4 42 4 Nontype Template Parameters Nontype Template Parameters C++ Templates - The Complete Guide 5.1 關鍵字 typename 43 5 高 階基本技術 5 高階基本技術 Tricky Basics 本章涵蓋實際編程之㆗層次較高的...
View Full Document

Ask a homework question - tutors are online