我想在C++(VS2010)中創建一個私有函數。 它應該返回結構體/用戶定義類型的向量/數組。帶結構向量作爲返回值的C++函數
但是我認爲我在cpp文件中的函數聲明可能是錯誤的。 或者可能已經在標題中。有人可以看看嗎?
我的頭看起來是這樣的:
#pragma once
using namespace std;
#include <algorithm>
#include <vector>
class clsWString2
{
private:
struct udtWChar2
{
wstring Text;
int OrigPos;
};
bool m_bDirty;
vector<udtWChar2>pToWChar2(wstring u);
vector<udtWChar2>m;
public:
clsWString2(void);
~clsWString2(void);
void ReplaceCompareBinary(wstring uSearchFor, wstring uReplaceBy);
void ReplaceCompareText(wstring uSearchFor,wstring uReplaceBy);
void ReplaceByPos(int uStartPos1Based,int uLen0Based, wstring uReplaceBy);
void FeedString(wstring u);
void Append(wstring u);
wstring CharAtPos(int uIndex);
int OrigPos(int uIndex);
};
我的.cpp文件看起來是這樣的:
#include "StdAfx.h"
#include "clsWString2.h"
clsWString2::clsWString2(void)
{
m.resize(0);
}
clsWString2::~clsWString2(void)
{
}
vector<udtWChar2> clsWString2::pToWChar2(wstring u)
{
vector<udtWChar2> n;
n.resize(0);
for (int i=0;i<u.size();i++)
{
wstring sChar;
sChar=u.substr(i,1);
udtWChar2 nc;
nc.Text =sChar;
nc.OrigPos=i;
n.push_back (nc);
}
return n;
}
該代碼看起來很好。你有什麼問題? –
vector clsWString2 :: pToWChar2(wstring u)編譯器說「udtWChar2」未定義。 –
tmighty
可以向量 clsWString2 :: pToWChar2(wstring u)工作嗎? –
Kupto