#include <string>
#include <iostream>
#include <TCHAR.h>
#include <vector>
using namespace std;
void main () 


    
vector<string> a(6,_T("dddd"));
    vector<string>::iterator b=a.begin();
    while ( b!=a.end())
{
cout<<*b<<endl;
b++;
}

这段代码有10个警告,怎么解决!!!

解决方案 »

  1.   

    vector <string> a(6,"dddd"); 
      

  2.   

    就是这段代码引出的警告,vector <string> a(6,"dddd"); 
    请问有什么解决的办法
      

  3.   

    vector <string> a(6,"dddd"); 是什么意思?
      

  4.   

    vector <CString> a(6,"dddd"); 换成这样
      

  5.   

    什么叫教坏小孩,他用字符串的当然直接用CString,不然怎么样?要不你给个说法?
      

  6.   

    头文件中添加
    #pragma warning(disable:C4786)
      

  7.   


    楼主你用的VC6.0,出现关于STL的警告是正常的,这是VC6.0的问题。 #pragma warning(disable:C4786)
      

  8.   

    这个警告应该正常吧,unicode的关系
      

  9.   

    警告正常,不需要理会,如果觉得build后,发现出现那么多警告不好看,可以把它关掉(#pragma warning(disable:4786))
      

  10.   


    mfc用多了吧,vector  <string> 用的可是C++ 的STL。和CString 完全不是一回事。
    说实话用起来比CString 好用,效率也高关于警告,由于VC6.0对与c++的标准库支持不好,很多不完善造成的。现在的VC8.0已经增加了很多的c++标准模板库,扩展了很多。不用理会这些警告,使用没有问题就好,如果的确有问题,建议使用高版本的VS
      

  11.   

    vector <string> a(6,_T("dddd"));不对
    你的vector中是一个CString类型的  所以a中一改是一个CString类型的  不能出现两个变量
      

  12.   

    哦如果用STL确实是我搞错了,真的是MFC用多了,STL用的不多,呵呵