我正在審查一些代碼,並在相似的一行來到:的std :: TR1 ::功能和模板值,它接受
std::tr1::function<bool (int, int)>(//etc...
的模板類型的語法,bool (int, int)
是生疏了。基於谷歌搜索,在std::tr1::function
的情況下,似乎這個語法被用來定義函數的返回類型和參數。這是有道理的,但爲什麼這種語法的工作?據我所知,C++模板只能指定類型?
我試圖在代碼中實例化類型的實例爲:
bool (int, int) test;
如我所料,該語句無法編譯。至少,語法需要是這樣的: bool(test)(int,int);
是否將bool (int, int)
視爲C++類型?任何提示在我腦海中調和這一點?
感謝, 亞當
函數類型作出完美的類型。 – eh9