我將一個Windows應用程序移植到linx。 我想將CArray MFC Method移植到linux。 的CARRAY被移植是如何將CArray(MFC)移植到linux
CArray<double,double> min;
我做了這個喜歡的等效...
#include <iostream>
#include <vector>
#include <list>
int main()
{
struct values
{
double value1;
double value2;
};
typedef std::vector<values> CArray;
CArray min;
CArray max;
return 0;
}
,但我越來越像錯誤回報...
vec1.cpp: In function ‘int main()’:
vec1.cpp:12:29: error: template argument for ‘template<class _Alloc> class std::allocator’ uses local type ‘main()::values’
vec1.cpp:12:29: error: trying to instantiate ‘template<class _Alloc> class std::allocator’
vec1.cpp:12:29: error: template argument 2 is invalid
vec1.cpp:12:37: error: invalid type in declaration before ‘;’ token
如有任何人都有關於將這個移植到linux的相應工作,請提供解決方案。
我已經檢查此鏈接http://stackoverflow.com/questions/3097445/vector-of-double2-error使兩個值進入結構,然後在向量中使用。 – suma 2013-04-26 08:44:26
您不需要_two_值,MFC中的CArray類使用一個模板參數存儲數據,另一個用於函數參數。如果您檢查['CArray'參考](http://msdn.microsoft.com/en-us/library/4h2f09ct%28v=vs.100%29.aspx),您甚至會看到第二個模板參數默認爲首先。使用'std :: vector'就足夠了。 –
2013-04-26 08:45:15