一个inline的问题

leizhch 2007-03-02 06:07:06
inline float* operator [] (unsigned int i);


float* CFloatMatrix::operator[] (unsigned int i)
{
return _dataArray[i];
}

编译时候没问题,运行时候出现错误:
unresolved external symbol "public: float * __thiscall CFloatMatrix::operator[](unsigned int)"

但我在头文件里面直接写成
inline float* operator [] (unsigned int i){return _dataArray[i];};
却没有问题,这是为什么?
...全文
276 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
lengxueqingfeng 2007-03-04
  • 打赏
  • 举报
回复
#pragma once
#include <iostream>
using namespace std;
class Testline
{
public:
Testline(void);

void inlineb(){cout<<"bb<<endl";}
void inlinea();
public:
~Testline(void);
};

inline void Testline::inlinea()
{
cout<<"haha"<<endl;
}

两种内联函数的方式如同inlinea ,inlineb
注意inlinea的定义前加了inline,且放在了头文件中,至于inlineb就是取常用的那种内联方式
KDE 2007-03-04
  • 打赏
  • 举报
回复
学习。。。。
merlinfang 2007-03-04
  • 打赏
  • 举报
回复
float* operator [] (unsigned int i);

inline float* CMyRichEdit::operator [] (unsigned int i)
{
return NULL;
}

连接正常.

leizhch 2007-03-04
  • 打赏
  • 举报
回复
inline float* operator [] (unsigned int i);


inline float* CFloatMatrix::operator[] (unsigned int i)
{
return _dataArray[i];
}
这样还是不行

float* operator [] (unsigned int i);


inline float* CFloatMatrix::operator[] (unsigned int i)
{
return _dataArray[i];
}

这样也不行
jixingzhong 2007-03-02
  • 打赏
  • 举报
回复
inline 和定义在一起 ~
snprintf 2007-03-02
  • 打赏
  • 举报
回复
inline 和成员函数的定义写在一起.
Wolf0403 2007-03-02
  • 打赏
  • 举报
回复
直接写在声明的地方吧。inline 函数具有内部连接性。

64,643

社区成员

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

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