如何修复预期的主要表达?
How to fix expected primary-expression?
#include<iostream>
#include<memory>
class test{
public:
void print()
{
std::cout<<"test print"<<std::endl;
}
};
int main
{
std::auto_ptr<test> t1 (new test);
t1->print();
return 0;
}
我收到以下错误:
$g++ 5.cpp --std=c++11
5.cpp:16:22: error: expected primary-expression before ‘t1’
std::auto_ptr<test> t1 (new test);
^
5.cpp:16:22: error: expected ‘}’ before ‘t1’
5.cpp:16:22: error: expected ‘,’ or ‘;’ before ‘t1’
5.cpp:17:2: error: ‘t1’ does not name a type
t1->print();
^
5.cpp:19:2: error: expected unqualified-id before ‘return’
return 0;
^
5.cpp:20:1: error: expected declaration before ‘}’ token
}
^
int main // <-- Notice anything ?
问题是,您忘记了 main 中的括号。
int main { ...} // this is wrong!
但右边是
int main() { ... }
#include<iostream>
#include<memory>
class test{
public:
void print()
{
std::cout<<"test print"<<std::endl;
}
};
int main
{
std::auto_ptr<test> t1 (new test);
t1->print();
return 0;
}
我收到以下错误:
$g++ 5.cpp --std=c++11
5.cpp:16:22: error: expected primary-expression before ‘t1’
std::auto_ptr<test> t1 (new test);
^
5.cpp:16:22: error: expected ‘}’ before ‘t1’
5.cpp:16:22: error: expected ‘,’ or ‘;’ before ‘t1’
5.cpp:17:2: error: ‘t1’ does not name a type
t1->print();
^
5.cpp:19:2: error: expected unqualified-id before ‘return’
return 0;
^
5.cpp:20:1: error: expected declaration before ‘}’ token
}
^
int main // <-- Notice anything ?
问题是,您忘记了 main 中的括号。
int main { ...} // this is wrong!
但右边是
int main() { ... }