1
我很困惑爲什麼會發生這種情況。我收到一個錯誤'酶_acronyms_未在此範圍內聲明'。它指向我的writeAcronym函數,但不是getAcronym,並且都使用酶_acronyms_。什麼可能導致這種情況?成員變量在一個成員函數的範圍內,但不是另一個
SequenceMap.h
#ifndef SequenceMap_h
#define SequenceMap_h
#include <iostream>
#include <string>
#include <vector>
using namespace std;
class SequenceMap
{
private:
string recognition_sequence_;
vector<string> enzyme_acronyms_;
public:
string getAcronym();
void writeAcronym(string an_enz_acro);
}
SequenceMap.cpp
#include "SequenceMap.h"
string SequenceMap::getAcronym()
{
return enzyme_acronyms_[0]; //works fine
}
void writeAcronym(string an_enz_acro)
{
enzyme_acronyms_.push_back(an_enz_acro); //enzyme_acronyms_ not declared in this scope
}
應該添加「void SequenceMap ::」。 – FaizanRabbani