我有一个头文件:a.h
#include <iostream>
class A
{
int m_a;
public:
A(int a);
};
和源文件a.cpp
#include "a.h"
#include <vector>
#include <string>
using namespace std;
vector<string>myV;
myV.push_back("a");
A::A(int a)
{
m_a = a;
}
我正在使用以下方法在CentOs-7.2上编译上述程序:g ++ a.cpp
在编译上述程序时,出现此错误:
a.cpp:8:1: error: ‘myV’ does not name a type
myV.push_back("a");
任何人都可以帮助我解决这个错误吗?
最佳答案
正如评论者所指出的,您不能在函数外部的对象上调用函数。您只能声明对象。幸运的是,您可以在同一条语句中初始化myV
:
vector<string> myV { "a" };