请问这个为什么错?【不纠结这个问题了,跳过算了】
本帖最后由 爱学习520 于 2020-8-13 11:15 编辑不知道为什么错了,大佬们看看,只有几行代码
在main里面引用了一个类,main():
#include <iostream>
#include "Text.cpp"
int main()
{
Text t;
}
定义了一个类,函数在该类中仅声明,即函数实现和定义分开,定义代码。即Text.h:
class Text
{
public :
Text();
};
类中函数实现代码,即Text.cpp:
#include "Text.h"
using namespace std;
Text::Text()
{
cout << "构造函数执行了" << endl;
}
错误如图,第一张。第二张是按照一楼修改后的宁外的错误截图。第三张图是8楼修改后的其他错误。如果大家是VS可以运行一下,看看是不是和我一样的错误,感谢大
家下面的解答,我都试了,还是一样错误,此时16:28
在 Text.cpp 开头加入一句 #include <iostream> 楼上正解 zltzlt 发表于 2020-8-9 15:46
在 Text.cpp 开头加入一句 #include
我在帖子最上面截屏了 安照你修改的 出现异常 永恒的蓝色梦想 发表于 2020-8-9 15:47
楼上正解
那个不对,截图在帖子最下面了 你 Text.h 中冒号用成中文的了……应该这样:
class Text
{
public :
Text();
};
zltzlt 发表于 2020-8-9 15:58
你 Text.h 中冒号用成中文的了……应该这样:
这个改了,还是一样的错误,和第一张一样 爱学习520 发表于 2020-8-9 15:57
那个不对,截图在帖子最下面了
Text.cpp 改为:#include<iostream>
#include"Text.h"
using namespace std;
Text::Text(const Text&) {
cout << "构造函数执行了" << endl;
}试试 永恒的蓝色梦想 发表于 2020-8-9 16:00
Text.cpp 改为:试试
和第二张图一样,无法启动程序 永恒的蓝色梦想 发表于 2020-8-9 16:00
Text.cpp 改为:试试
改了后程序无法启动了,错误还是和之前一样 爱学习520 发表于 2020-8-9 16:05
和第二张图一样,无法启动程序
发图 永恒的蓝色梦想 发表于 2020-8-9 16:10
发图
发了,更新在帖子上面了 爱学习520 发表于 2020-8-9 16:28
发了,更新在帖子上面了
麻烦直接回复……我都不知道你发的是哪张 永恒的蓝色梦想 发表于 2020-8-9 16:31
麻烦直接回复……我都不知道你发的是哪张
第三张 爱学习520 发表于 2020-8-9 16:32
第三张
我也搞不懂了{:10_260:}干脆不要用类外定义了 把#include"Text.cpp"改为“Text.h"先试一下。不行就把Text直接改了。把所有的除了text()函数的Text,也就是你的类名改掉。重复覆盖有什么意思 本帖最后由 livcui 于 2020-8-9 20:12 编辑
爱学习520 发表于 2020-8-9 16:32
第三张
8楼的代码构造函数带了参...
创建 test 对象 t 时就会调用默认构造函数,
但问题出在这个参量多了的构造函数类里没有声明原型(报错正常)
所以 test.cpp 的确应该改为 test.h ,
如果还是不行,当我没说。。。
#include<iostream>
#include"Text.h"
using namespace std;
Text::Text() {
cout << "构造函数执行了" << endl;
}
还有哥你 main() 没返回值... livcui 发表于 2020-8-9 19:59
8楼的代码构造函数带了参...
创建 test 对象 t 时就会调用默认构造函数,
但问题出在这个参量多了的构 ...
没有用,,这些都早就试过 爱学习520 发表于 2020-8-10 08:03
没有用,,这些都早就试过
就先别搞多文件吧,
全放到一个文件里,看你编译器到底出的什么错
#include <iostream>
class Text_
{
public:
Text_();
};
int main()
{
Text_ t;
}
Text_::Text_()
{
std::cout << "构造函数执行了" << std::endl;
} livcui 发表于 2020-8-10 08:54
就先别搞多文件吧,
全放到一个文件里,看你编译器到底出的什么错
全放到一个没有问题
页:
[1]
2