【发布时间】:2011-11-25 13:54:46
【问题描述】:
我的代码中出现警告:
警告:获取临时地址
我见过类似的问题,但他们没有回答我的具体问题。
这是我的代码正在做的事情:
vector<A*>* ex_A;
ex_A->push_back( &A()); //I get this warning taking address of temporary
这是未定义的行为吗?
我之前确实有这个,这很好,但我不想担心从堆中删除内存。
vector<A*>* ex_A;
ex_A->push_back( new A());
有人可以向我解释一下警告的含义吗?
【问题讨论】:
-
你用的是什么编译器? C++ 标准不允许将
&应用于右值。 -
@FredOverflow 是 g++ 4.3。右值代表什么
标签: c++