#include <iostream>
#include <vector>
using namespace std;

class Base{
public:
 Base(const string& s) {}
};
class Derived : public Base{
public:
 Derived(const string& s) : Base(s) {}
};

int main(){
 vector<Base*> data;
 data.push_back(new Derived("D"));
}

をBorlandC++でコンパイルすると警告がでます。(上は全角空白を使ってます)

警告 W8030 vec_test.cpp 18: '__x' パラメータ(vector<Base *,allocator<Base *> >:
:push_back(Base * const &))のために一時変数を使用する(関数 main() )

どうしてだかわかる方いますか?頭が変になりそうです。