我对这两个概念有点困惑。 我正在阅读“C ++编程语言”,Bjarne Stroustrup。 根据这本书,以下是声明和定义:
char ch; //(dec. and def.)
string s; //(dec. and def.)
int count=1; //(dec. and def.)
但有一项练习(4.11)说“ 对于§4.9中的每个声明,请执行以下操作:如果声明不是定义,请为其定义一个定义。如果声明是一个定义,请为它写一个也不是定义的声明。“
所以我很困惑如何在没有上述三个事物的定义的情况下编写声明?
答案 0 :(得分:1)
我怀疑回答这个问题的信息是在其他问题中,但它明确地询问如何从定义改为仅仅是一个声明,所以这是一种方式:
char ch;
定义了一个char
,没有初始化它(除了一些带我们转向另一个问题的上下文)。
extern char ch;
声明某个地方有char
ch
。链接器必须找到它。
您也可以使用其他代码行。