请教下为何这个模板类对象.不出方法?

chenjiawei007 2011-10-09 03:02:58


#include <assert.h>

//--------------------------------------------------------------------------------------
// A growable array
//--------------------------------------------------------------------------------------
template<typename TYPE> class CGrowableArray
{
public:
CGrowableArray()
{
m_pData = NULL; m_nSize = 0; m_nMaxSize = 0;
}
CGrowableArray( const CGrowableArray <TYPE>& a )
{
for( int i = 0; i < a.m_nSize; i++ ) Add( a.m_pData[i] );
}
~CGrowableArray()
{
RemoveAll();
}

const TYPE& operator[]( int nIndex ) const
{
return GetAt( nIndex );
}
TYPE& operator[]( int nIndex )
{
return GetAt( nIndex );
}

CGrowableArray& operator=( const CGrowableArray <TYPE>& a )
{
if( this == &a ) return *this; RemoveAll(); for( int i = 0; i < a.m_nSize;
i++ ) Add( a.m_pData[i] ); return *this;
}

HRESULT SetSize( int nNewMaxSize );
HRESULT Add( const TYPE& value );
HRESULT Insert( int nIndex, const TYPE& value );
HRESULT SetAt( int nIndex, const TYPE& value );
TYPE& GetAt( int nIndex ) const
{
assert( nIndex >= 0 && nIndex < m_nSize ); return m_pData[nIndex];
}
int GetSize() const
{
return m_nSize;
}
TYPE* GetData()
{
return m_pData;
}
bool Contains( const TYPE& value )
{
return ( -1 != IndexOf( value ) );
}

int IndexOf( const TYPE& value )
{
return ( m_nSize > 0 ) ? IndexOf( value, 0, m_nSize ) : -1;
}
int IndexOf( const TYPE& value, int iStart )
{
return IndexOf( value, iStart, m_nSize - iStart );
}
int IndexOf( const TYPE& value, int nIndex, int nNumElements );

int LastIndexOf( const TYPE& value )
{
return ( m_nSize > 0 ) ? LastIndexOf( value, m_nSize - 1, m_nSize ) : -1;
}
int LastIndexOf( const TYPE& value, int nIndex )
{
return LastIndexOf( value, nIndex, nIndex + 1 );
}
int LastIndexOf( const TYPE& value, int nIndex, int nNumElements );

HRESULT Remove( int nIndex );

void RemoveAll()
{
SetSize( 0 );
}
void Reset()
{
m_nSize = 0;
}

protected:
TYPE* m_pData; // the actual array of data
int m_nSize; // # of elements (upperBound - 1)
int m_nMaxSize; // max allocated

HRESULT SetSizeInternal( int nNewMaxSize ); // This version doesn't call ctor or dtor.
};






我通过 CGrowableArray<CAString> Ass;

Ass.不出方法,但是输入方法运行还是没问题的,

应该不是番茄VA的问题吧,其他的模板STL都用的没问题,请教下!

...全文
67 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
PG 2011-10-09
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 bdmh 的回复:]

找个助手吧,c的编译器的智能提示就是不好用
[/Quote]
++
无天 2011-10-09
  • 打赏
  • 举报
回复
清除ncb文件。重启VS。
chenjiawei007 2011-10-09
  • 打赏
  • 举报
回复
1L:我用的是比较新版本的 番茄VC ASSIST 就是对这个类没有智能提示。

3L:尝试过,还是老样子。


纠结,想在这基础上封装下,要是用起来那么麻烦就真纠结了。
星羽 2011-10-09
  • 打赏
  • 举报
回复
试了下,在我的vs2010上是ok的
你在va的选项的performance里 clear rebuild一下看看
  • 打赏
  • 举报
回复
清除一下, 关掉VS , 删掉ncb文件 , 再打开,编译。
qq120848369 2011-10-09
  • 打赏
  • 举报
回复
bdmh 2011-10-09
  • 打赏
  • 举报
回复
找个助手吧,c的编译器的智能提示就是不好用

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧