2013-05-19 47 views
3

此代碼非常簡單,不應該編譯?我真的迷失了這個。「C4430:缺少類型說明符 - int假定」在模板函數中

#include <iostream> 

template<typename T> foo(T f) 
{ 
    std::cout << f << std::endl; 
} 

int main() 
{ 
    foo(3); 

    return 0; 
} 

錯誤:

main.cpp(6): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 

回答

9

你錯過了返回類型爲foo。據推測,你想:

     vvvv 
template<typename T> void foo(T f) 
{     ^^^^ 
    std::cout << f << std::endl; 
} 
+1

笑!!!!!!!!!!!! – TheVTM

+0

@TheVTM,這些模板將做到這一點,就像我一直在想99我必須在學校附加電話號碼的前綴是區號,它需要我三次嘗試意識到我錯過了三個數字。 – chris

相關問題