c++:如何更正将字符串数组转换为函数
c++: How to correct transfer array of char strings into function?
例如:
#include <stdio.h>
#include <string.h>
using namespace std;
struct st
{
string name[3];
st(char X[][]) { for(int i=0; i<3; i++) name[i] = X[i];}
} Y( {"Text1", "Text2", "Text3"} );
但是Y({"Text1"、"Text2"、"Text3"})不起作用。我不知道正确的答案。请帮忙。
这很好用。
struct st
{
string name;
st(char X[]) { name[i] = X;}
} Y("Text1");
如果注释错误的成员函数声明并用括号代替大括号,则将编译代码。:)
struct st
{
std::string name[3];
// std(char X[][]) { for(int i=0; i<3; i++) name[i] = X[i];}
} Y { {"Text1", "Text2", "Text3"} };
至于成员函数(似乎你想定义一个构造函数),那么它可以像一样定义
st( const char *s[3] )
{
for ( size_t i = 0; i < 3; i++ ) name[i] = s[i];
}
或者你可以定义类似的结构
struct st
{
std::string name[3];
st( std::initializer_list<const char *> l )
{
size_t n = std::min<size_t>( 3, l.size() );
std::copy_n( l.begin(), n, name );
}
} Y ( {"Text1", "Text2", "Text3" } );
使用C++11
struct st
{
array<string, 3> name;
st(const array<string, 3>& name)
: name(name)
{
}
};
int main()
{
st s({ "Text1", "Text2", "Text3" });
cout << s.name[0] << endl;
}
活生生的例子http://ideone.com/cxMNnX
相关文章:
- 如何在C++中将数组转换为矢量指针
- 将C++中的数组转换为字符串
- NLOHMANN 的 JSON 库将数组转换为结构向量
- 将 int 数组转换为 std::vector<int*>
- 在nlohmann json中,如何将嵌套对象的数组转换为嵌套结构的向量
- 无法在 Arduino 中uint8_t数组转换为无符号长整型数组
- 将字节数组转换为带有字节序问题的指针
- 使用 stbi_write_png,如何将 0 和 1 的矩形字节数组转换为单色 png 文件?
- 将字符数组转换为时间结构
- 将字节数组转换为多维数组
- 可视化 如何在C++中将字符数组转换为 FILE 类型
- 在 C++ 中将整数数组转换为位集表示形式的最佳方法?
- C++如何将字符数组转换为字节向量(向量<byte>)
- 将字符数组转换为结构时出现问题. 结构的字符数组变量溢出
- 无法将字符数组转换为包含 utf-8 字符的字符串
- 如何使用 C++将 2D RGB 数组转换为 dds 文件?
- 如何将字符串指针数组转换为字符串类型的智能指针向量?
- 将 int 数组转换为带有小数C++的双精度数组
- 使用 .data() 将字符数组转换为 std::string 不会转换整个数组
- 将字符数组转换为整数值