C++里的一些有关问题

C++里的一些问题~
愚生在写C++代码时遇到一些问题~希望好心人帮忙看看~
1.关于格式转换
CListCtrl m_ListCtrl;
if(CreateProcessA(NULL,"D:\\MyBackup\\我的文档\\Visual Studio 2010\\Projects\\SHOW\\Debug\\SHOW.exe",
 NULL,NULL,FALSE,NULL,NULL,NULL,&s_i,&p_i))
 {  
DWORD pid;
CString PID;
    pid=p_i.dwProcessId;
m_ListCtrl.InsertItem(1,PID.Format(_T("%ld",pid)));
//m_ListCtrl.InsertItem(1,pid);
goto CPU;
 //写列表
   }

这样会报这个错误
错误 28 error C2664: “int CListCtrl::InsertItem(int,LPCTSTR)”: 不能将参数 2 从“void”转换为“LPCTSTR” c:\documents and settings\administrator\桌面\mfcapplication22\mfcapplication1\mfcapplication1dlg.cpp 353
2.关于类和命名空间
这是我的.h文件
#ifndef GAUSSBGMODEL_H
#define GAUSSBGMODEL_H

#include "gaussmodel.h"

using namespace std;

class GaussBGModel
{
public:
    GaussBGModel();
    ~GaussBGModel();

    /// 预处理
    void prepare(int Rows, int Cols);

    /// 检测前景
    void detectFG(int FrameNum, const Mat3b &CurrFrame, Mat1b &GrayFGMask);

    /// 更新背景模型
    void updateBG(int FrameNum, const Mat3b &CurrFrame, float LearningRate = 0.01,
                  InputArray BlobMask = cv::noArray(), InputArray RectMask = cv::noArray());

    /// 返回背景图像(彩色)
    void getBGImage(Mat3b &BGImage) const;

public:
    int mRows,mCols;            ///< 行列数
    vector<GaussModel> gmm;     ///< 背景模型
};

#endif // GAUSSBGMODEL_H

然后这是.CPP文件

#include "gaussbgmodel.h"
#include "stdafx.h"

GaussBGModel::GaussBGModel()
//{
//}

GaussBGModel::~GaussBGModel()
//{
//
//}

void GaussBGModel::prepare(int Rows, int Cols)
{
    mRows = Rows;
    mCols = Cols;

    // 创建背景模型
    gmm.clear();
    gmm.resize(mRows * mCols);
}

void GaussBGModel::detectFG(int FrameNum, const Mat3b &CurrFrame, Mat1b &GrayFGMask)
{
    // 预处理掩码矩阵
    Mat1b currMask = Mat1b(mRows, mCols, BGPixel);

    // 遍历当前帧中的像素
    for(int row = 0; row < CurrFrame.rows; row++)
    {
        for(int col = 0; col < CurrFrame.cols; col++)
        {
            // 确定该像素对应的高斯模型的下标
            int index = row * CurrFrame.cols + col;

            // 进行前景检测
            uchar pixelValue = gmm[index].detect(CurrFrame(row, col));

            // 给掩码矩阵赋值
            currMask(row, col) = pixelValue;
        }
    }
    currMask.copyTo(GrayFGMask);
}

void GaussBGModel::updateBG(int FrameNum, const Mat3b &CurrFrame, float LearningRate, InputArray BlobMask, InputArray RectMask)
{
    // 更新率小于等于0.f,返回
    if( LearningRate <= 0.f )
    {
        return;
    }

    // 得到前景掩码矩阵
    Mat1b blobMask = BlobMask.getMat();
    Mat1b rectMask = RectMask.getMat();

    // 如为空,则不需要检测前景团块掩码
    bool checkBlobMaskFlag = blobMask.empty()? false : true;

    // 如果为空,则不需要考虑前景外接矩形掩码
    bool checkRectMaskFlag = rectMask.empty()? false : true;

    for( int row = 0; row < CurrFrame.rows; row++ )
    {
        for( int col = 0; col < CurrFrame.cols; col++ )
        {
            // 确定该像素对应的高斯模型的下标