下記のコードが通らないのはナゼでしょうか?

void Hogehoge(void)
{
char s[100];
memset(s,0,100);

const char* str = "test";

memcpy(s,str,strlen(str));

s += strlen(str); // ← ここで「左辺値が必要」というエラー
..............
}

上記のエラー個所を下記のような関数を通すようにするとコンパイルエラー
になりません。
s += strlen(str)をHoge(s,strlen(str))に変更

void Hoge(char* s,int length)
{
s += length;
}

s += strlen(str)もHoge(s,strlen(str))もやっている事は同じなのにナゼなんでしょうか?
ちなみにC++Builder6を使用しています。