如何将字符串数组分成两个文件M C++98 / VS2010
How separate Array of strings into two filesM C++98 / VS2010
如果我有两个文件 myclass.h 和 myclass.cpp
如何将此代码分离为 class 成员的声明和构造函数的实现 我需要在方括号 {} 中设置值?
std::string predefinedArgs[] = { "Some", "Other", "Strings" };
我试过了header:
class Wrapper {
public:
std::map<std::string,std::string> arguments;
Wrapper(int argc, char ** argv);
private:
int argc; char ** argv;
std::vector<std::string> args;
std::string predefinedArgs[12];
void parseArguments();
};
和.cpp:
Wrapper::Wrapper(int argc, char ** argv):
argc(argc),
argv(argv),
args(argv, argv+argc)
{
this->predefinedArgs[] = { "Jan", "Feb", "Mar", "April", "May", "June", "July",
"Aug", "Sep", "Oct", "Nov", "Dec" };*/
// this->parseArguments();
};
即 wrapper.cpp(8):错误 C2059:语法错误:']'
我在网上搜索过,但没有找到一个严肃的例子来说明这一点。 你不使用 classes 吗? (只是一个反问)
编辑:
在里面。列表也失败了:
#include "wrapper.h"
Wrapper::Wrapper(int argc, char ** argv):
argc(argc),
argv(argv),
args(argv, argv+argc),
predefinedArgs({ "Jan", "Feb", "Mar", "April", "May", "June", "July",
"Aug", "Sep", "Oct", "Nov", "Dec" })
{
// this->parseArguments();
};
wrapper.cpp(7):错误 C2143:语法错误:在“{”
之前缺少“)”
从 predefinedArgs
的名字来看,我猜你可能会考虑使用 static const 成员(或其他解决方案)并将其完全放在构造函数之外。
E. G。像这样:
.hpp
class Wrapper {
// ...
private:
static const std::string predefinedArgs[12];
};
.cpp
const std::string Wrapper::predefinedArgs[12] = { "Jan", "Feb", "Mar", "April", "May", "June", "July", "Aug", "Sep", "Oct", "Nov", "Dec" };
如果我有两个文件 myclass.h 和 myclass.cpp 如何将此代码分离为 class 成员的声明和构造函数的实现 我需要在方括号 {} 中设置值?
std::string predefinedArgs[] = { "Some", "Other", "Strings" };
我试过了header:
class Wrapper {
public:
std::map<std::string,std::string> arguments;
Wrapper(int argc, char ** argv);
private:
int argc; char ** argv;
std::vector<std::string> args;
std::string predefinedArgs[12];
void parseArguments();
};
和.cpp:
Wrapper::Wrapper(int argc, char ** argv):
argc(argc),
argv(argv),
args(argv, argv+argc)
{
this->predefinedArgs[] = { "Jan", "Feb", "Mar", "April", "May", "June", "July",
"Aug", "Sep", "Oct", "Nov", "Dec" };*/
// this->parseArguments();
};
即 wrapper.cpp(8):错误 C2059:语法错误:']'
我在网上搜索过,但没有找到一个严肃的例子来说明这一点。 你不使用 classes 吗? (只是一个反问)
编辑: 在里面。列表也失败了:
#include "wrapper.h"
Wrapper::Wrapper(int argc, char ** argv):
argc(argc),
argv(argv),
args(argv, argv+argc),
predefinedArgs({ "Jan", "Feb", "Mar", "April", "May", "June", "July",
"Aug", "Sep", "Oct", "Nov", "Dec" })
{
// this->parseArguments();
};
wrapper.cpp(7):错误 C2143:语法错误:在“{”
之前缺少“)”从 predefinedArgs
的名字来看,我猜你可能会考虑使用 static const 成员(或其他解决方案)并将其完全放在构造函数之外。
E. G。像这样:
.hpp
class Wrapper {
// ...
private:
static const std::string predefinedArgs[12];
};
.cpp
const std::string Wrapper::predefinedArgs[12] = { "Jan", "Feb", "Mar", "April", "May", "June", "July", "Aug", "Sep", "Oct", "Nov", "Dec" };