看看这么用STL,该怎么解决

看看这么用STL看了老大回的一个帖子#include iostream#include algorithmusing namespace stdstruct

看看这么用STL
看了老大回的一个帖子
#include <iostream>
#include <algorithm>
using namespace std;

struct MyStruct { 
  int a; 
  int b; 
}; 


int main() {
  MyStruct* structs = new MyStruct[100];
  MyStruct initializer = {20, 30};
  fill(structs, structs + 100, initializer);

  cout << structs[50].a << endl;
  cout << structs[50].b << endl;

  return 0;
}
我用普通char类型为什么不行啊

#include <iostream>
#include <algorithm>
using namespace std;

int main() {
char* ch=new char[100];
  char * initializer = {'a'};
  fill(ch, ch + 100, initializer);

  cout<<ch[2];
  return 0;
}

这么用为什么不行啊,是不是我写错了。

[解决办法]
类型没对上。
MyStruct initializer = {20, 30}; 
=>
char initializer = 'a';
[解决办法]

引用楼主 lily604 的帖子:
这么用为什么不行啊,是不是我写错了。

[解决办法]
char * initializer = {'a'}; 显然有问题啊!
char initializer = 'a';
虽然模仿很重要,但是也不能不加思考阿

[解决办法]
顶上.