新建函数时候出现的问题
我是这样做的,先新建一个工程,然后再通过file->new->unit新建一个名为funtion.cpp的单元文
件. 接着我在funtion.h的文件里加了一个void __fastcall search(TComboBox * ca);的声明语
句,怎么就这样去编译都会出错呢?
下面是unit1.cpp文件的内容:
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#include "funtion.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
下面是unit1.h文件的内容:
#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published: // IDE-managed Components
TComboBox *ComboBox1;
private: // User declarations
public: // User declarations
__fastcall TForm1(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif
//---------------------------------------------------------------------------
下面是funtion.h的内容:
#ifndef funtionH
#define funtionH
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
void __fastcall search(TComboBox * ca);
//---------------------------------------------------------------------------
#endif
funtion.cpp的内容没有去改变`~
有哪位兄弟知道是怎么回事的~~请指教下`~
问题点数:20、回复次数:10Top
1 楼xpdavis(咕嘟-不想孤独)回复于 2006-05-02 20:39:25 得分 0
出错信息是怎样的都不说,有点晕啊Top
2 楼day_dreamerabc(流浪牛)回复于 2006-05-02 20:52:06 得分 0
不好意思`~出错信息忘记帖了~~下面的是出错信息:
Build
[C++ Error] _stddef.h(37): E2141 Declaration syntax error
[C++ Error] _stddef.h(133): E2090 Qualifier 'std' is not a class or namespace name
[C++ Error] _stddef.h(133): E2272 Identifier expected
[C++ Error] _stddef.h(134): E2090 Qualifier 'std' is not a class or namespace name
[C++ Error] _stddef.h(134): E2272 Identifier expected
[C++ Error] _stddef.h(135): E2090 Qualifier 'std' is not a class or namespace name
[C++ Error] _stddef.h(135): E2272 Identifier expected
[C++ Error] _stddef.h(136): E2090 Qualifier 'std' is not a class or namespace name
[C++ Error] _stddef.h(136): E2272 Identifier expected
[C++ Error] mem.h(37): E2188 Expression syntax
[C++ Error] mem.h(37): E2293 ) expected
[C++ Error] mem.h(38): E2188 Expression syntax
[C++ Error] mem.h(38): E2293 ) expected
[C++ Error] mem.h(39): E2188 Expression syntax
[C++ Error] mem.h(39): E2293 ) expected
[C++ Error] mem.h(40): E2188 Expression syntax
[C++ Error] mem.h(40): E2293 ) expected
[C++ Error] mem.h(47): E2316 'size_t' is not a member of 'std'
[C++ Error] mem.h(46): E2188 Expression syntax
[C++ Error] mem.h(47): E2293 ) expected
[C++ Error] mem.h(49): E2316 'size_t' is not a member of 'std'
[C++ Error] mem.h(48): E2188 Expression syntax
[C++ Error] mem.h(49): E2293 ) expected
[C++ Error] mem.h(51): E2316 'size_t' is not a member of 'std'
[C++ Error] mem.h(50): E2188 Expression syntax
[C++ Error] mem.h(50): E2228 Too many error or warning messagesTop
3 楼xpdavis(咕嘟-不想孤独)回复于 2006-05-02 21:37:54 得分 0
函数名search起得太简单了?发生冲突了?Top
4 楼weixing979(★★★闪电侠★★★)回复于 2006-05-02 21:41:23 得分 0
手边没有BCB,估计是function.h没有加
#include <vcl.h> 吧 . 因为你用到了TComboBoxTop
5 楼jjwwang((空园歌独酌,春日赋闲居))回复于 2006-05-02 21:47:15 得分 0
你用STL了吗?或namespace了吗?Top
6 楼day_dreamerabc(流浪牛)回复于 2006-05-02 22:30:37 得分 0
没有用STL,也没有用namespace~名字改复杂了,加了个#include <vcl.h> ,错误还是依旧`~还要说明一点,那个
void __fsatcall search(TComboBox * ca);我是直接在funtion.h文件里加的,而不是通过Class Explorer加的`~其实在这个例子里,也无法通过Class Explorer来把
void __fsatcall search(TComboBox * ca);加到funtion.h里,至少我还不知道怎样加.Top
7 楼kittypizza(极光)回复于 2006-05-03 04:37:05 得分 0
╭───────────────╮
│╔╦╗╔╦╗╔╦╗╔╦╗╔╦╗│
│╠接╣╠分╣╠赶╣╠紧╣╠走╣│
│╚╩╝╚╩╝╚╩╝╚╩╝╚╩╝│
└─◎◎─────────◎◎─┘Top
8 楼day_dreamerabc(流浪牛)回复于 2006-05-03 13:28:44 得分 0
可能是funtion这个文件名有问题`~~晕`~把funtion换成unit2后,什么问题都没啦`
Top
9 楼wanfustudio(雁南飞:知识之败,慕虚名而不务潜修也)回复于 2006-05-03 13:50:24 得分 0
命名规则~~~~~~~Top
10 楼BlueDeepOcean(蓝色·深海)回复于 2006-05-03 16:29:14 得分 0
错误包括:
1、定义的语法(记号)错误;
2、定义的内容可能与C++Builder中的某些函数冲突或者需要指定其归属,比如std::之类;
3、括号的嵌套出现问题,缺少右括号。
4、属性的引用出现错误。
5、对函数的使用出现错误。Top




