C++ 问题集

1. undefined reference to 'std::cout'错误

这是由于用gcc编译带来的问题,没有链接。 C++程序应该用g++命令编译,它会自动调用gcc来编译并链接。
而对于C++程序,gcc命令只能编译,不能完成库的链接。

 

2. C++标准规定:非const的引用不能加在临时变量上(避免临时对象销毁之后引用无效),问题:
void fun2(string &str)
{
    cout << str << endl;
}

int main()
{
    fun2(string("hello, "));
}
gcc编译错误提示如下:
D:\cygwin\home\ADMINI~1\project\aboutCPP.cpp: In function `int main()':
D:\cygwin\home\ADMINI~1\project\aboutCPP.cpp:35: error: invalid initialization of non-const reference of type 'std::string&' from a temporary of type 'std::string'
D:\cygwin\home\ADMINI~1\project\aboutCPP.cpp:28: error: in passing argument 1 of `void fun2(std::string&)'

 

解决方法吧:
1` 在参数上加上const.
2` 没有初始化,因为没有自己的构造函数,默认构造函数不做任何初始化工作. 初始化变量

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值