我有一段代码如下:
#include<algorithm>
#include<vector>
std::vector<std::string> vect;
std::vector<std::string> * vectP;
vect.push_back("ele0");
vect.push_back("ele1");
void func(){
if(std::find(*vectP.begin(),*vecP.end(),"ele0")!=*vectP.end())
//'begin' and 'end' have not been declared
}
为什么begin
和end
在与指针一起使用时未声明? *vectP
应被视为vect
,因为它被解除引用,或者我误解了某些内容?我该如何纠正这个问题?
答案 0 :(得分:6)
您的运营商优先权错误。 conn = MySQLdb.connect (
host = "host.domaincommysql.com",
user = "usernamefromdb",
passwd = "password",
db = "dbfromhost")
orders_sql = pd.DataFrame(pd.read_sql("SELECT* FROM orders", con=conn))['Date']
表示*vectP.begin()
(当然不起作用),而不是*(vectP.begin())
,这就是您的意思。但你应该拼写(*vectP).begin()
。