C/C++ code:
#include <map>
using namespace std;
template<typename K, typename T>
class a
{
public:
map<K,T> _map;
T find(K v)
{
map<K,T>::iterator iter;
iter = _map.find(v);
if(iter != _map.end())
return iter->second;
else
return (T)0;
}
};
int main()
{
a<int, unsigned int> b;
return 0;
}
ΪʲôÕâ¶Î´úÂëÔÚvc2005ÖпÉÒÔ±àÒëͨ¹ý£¬¶øÔÚlinux£¨red heat£©Ï²»ÄÜͨ¹ý£¿
ÄÇÊÇÒòΪintºÍunsigned intÔÚlinuxƽ̨ÏÂûÓÐÇø±ð¡£
Ä£°åµÄ¶þÒåÐÔ¡£Óë±àÒëÆ÷ʵÏÖÓйء£
È¥µôa <int, unsigned int> b;ÕâÐÐÒ²Ò»Ñù£¬ÓëÄ£°å²ÎÊýÎÞ¹Ø
test.cpp: In member function `T a <K, T>::find(K)':
test.cpp:11: error: expected `;' before "iter"
test.cpp:12: error: `iter' was not declared in this scope
red heatϱàÒ뱨Õâ¸ö´í
ßÀ£¬google Ä£°å²ÎÊýÒÀÀµÀàÐÍ¡£
typenameµÄ¹¦ÄÜûºÃºÃѧ°É¡£
¼ÓÉÏ typename.
ÈçÏ£º
#include <map>
using namespace std;
template <typename K, typename T>
class a
{
public:
map <K,T> _map;
T find(K v)
{
typename map <K,T>::iterator iter;
ÎÒûÓа²×°²Ù×÷ϵͳµÄ¾Ñ飬¼´Ê¹ÊÇWINDOWS¡£ÏÖÔÚÏëÔÚLINUX²Ù×÷ϵͳ´ó»·¾³ÏÂѧCÓïÑÔ£¬ÓÖÒªÂò±¾±¾£¬ÇëÎÊÈç¹û²Ù×÷ϵͳ°²×°²»µ±£¬»á²»»á¶ÔµçÄÔÔì³Éʲô´óµÄÆÆ»µ£¿ÓÐûÓбØÒªÏÈÂòÒ»¸ö¶þÊÖµçÄÔÁ·Ò»ÏÂLINUXµÄ ......
ÔÚlinuxÏ£¬ÔõÑù±àÒëOCIµÄ³ÌÐò£¿ËüµÄgccÖ¸ÁîÊÇʲô£¿ÎÒ´ÓÍøÉÏÕҵͼ²»ÄÜÓã¡»¹ÓУ¬ÎÒÔÚlinuxÓÃCÓëoracleÁ¬½Ó£¬ÎÒ¶¼ÐèÒª°²×°oralceµÄÄÄЩÈí¼þ£¿Ö»ÐèÒªoralceµÄ¿Í»§¶Ë£¬ÓëOCIµÄ¿âô£¿±ðµÄ»¹ÐèҪô£¿
Çë¸ßÊÖÖ¸½Ì£¡
......
ÎÊÌâÊÇÕâÑùµÄ£¬linuxϵͳÁ¬½ÓwindowsµÄFTPÓõÄÊÇʲô¶Ë¿Ú£¬ÊDz»ÊÇËæ»úµÄ£¬¿É²»¿ÉÒÔ¸øËü¹Ì¶¨Ä³¸ö¶Ë¿Ú£¬ÒòΪÎÒ·À»ðǽ´ò¿ªµÄʱºòftpÁ¬²»ÉÏ£¬·À»ðǽ¹Ø±Õºó£¬ftp¿ÉÒÔÁ¬µÄÉÏ
ß× ÔõôûÈ˰ïæ½â´ðÄØ
¼ÌÐøµÈ´ý
......