class test{
 char* str;
 int len;
public:
 test(const char* str);
};
test::test(const char* str0){
 len = strlen(str0);
 str = new char[len+1];
}

とすると
(msvcr80d.dll) でハンドルされていない例外が発生しました: 0xC0000005: 場所 0xccccccc0 を読み込み中にアクセス違反が発生しました。
こんなようなエラーがでます、いろいろとコメントアウトして試してみていたのですが
str = new char[len+1];部分でエラーが出ているようです、これを
str = new char[256];のようにするとエラーはでないのですが、定数でなければならないとかないですよね?
一体なんででしょうか?